본문 바로가기

개발/Spring14

[JPA] 도메인 분석 설계 및 아키텍처 도메인 분석 설계 설계 1:N에서 N이 주인. 외래키가 있는 곳을 주인으로 엔티티 클래스 개발 연관관계 주인이 아닌 경우 @OneToMany(mappedBy = "member") 상속 엔티티 상속 관계에서 상속 table type 전략을 정해줘야함. @Inheritance(strategy = InheritanceType.SINGLE_TABLE) 자식들을 하나의 테이블에 생성 @DiscriminatorColumn(name = "dtype") @DiscriminatorValue("A") Enum @Enumerated(EnumType.String) 1대1 관계에서 주인? - 주인을 어디에 둬도 상관 없음 tip) access를 많이 하는 곳에 두자. N대N 관계 - 실무에선 X JoinColumn이 아닌 Jo.. 2021. 9. 6.
[JPA] SpringBoot JPA 프로젝트 설정 프로젝트 환경설정 프로젝트 생성 spring initializer 에서 프로젝트 생성 의존성 web, thymeleaf, jpa, h2, lombok 라이브러리 살펴보기 gradle -> dependencies 에서 확인할 수 있음 뷰 환경 설정 spring-boot-devtools 의존 화면 개발할 때 서버를 재부팅하지 않아도 화면 수정사항이 반영됨. build - recompile ~.html 해당 페이지만 리컴파일하면 수정 사항이 보임 데이터베이스 설정 h2 데이터베이스 설치 후 bin/h2.sh 로 실행 최초 실행시 jdbc:h2:~/jpashop으로 연결 (~/jpashop.mv.db 파일 생성) 이후 jdbc:h2:tcp://localhost/~/jpashop으로 연결 appliation.ym.. 2021. 9. 6.
[IntelliJ] tdd 라이브 템플릿 1. preference에서 live template을 찾습니다. 2. 오른쪽에 +버튼을 누르고 Template Group을 Custom으로 추가합니다. 3. + 버튼으로 Custom 그룹에 Live template tdd를 추가합니다 4. 템플릿 코드를 입력합니다. 5. application context를 Java로 선택합니다. 코드는 다음과 같습니다 @Test public void test(){ //given //when //then } 자바파일에서 tdd를 입력하면 다음과 같이 템플릿이 생성됩니다. 2021. 8. 24.
[SpringBoot] 게시판 만들기 필요 클래스 및 동작 1. 도메인 패키지 Posts 엔티티 클래스 생성 데이터베이스와 맞닿은 핵심 클래스 수정이 최소로 되도록 보장해야함 Controller에선 Dto를 사용 JpaRepository을 상속받은 PostsRepository 인터페이스 생성 PostsRepository의 메소드로 Posts 생성과 조회 가능 2. Request 데이터를 받을 Dto 게시글 저장 PostsSaveRequestDto 클래스를 생성 게시글을 저장할 때, PostsRepository는 해당 Dto를 받아서 저장 Posts 엔티티와 필드가 동일 toEntity로 Dto를 PostsEntity로 변환하여 전달 3. 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service 각종 로직 처리 및 PostsRepository의 메소드를 실행 4.. 2021. 8. 17.