본문 바로가기

개발65

[JPA] 도메인 및 웹 계층 개발 회원 도메인 개발 엔티티매니저 createQuery 엔티티 객체를 대상으로 jpql 쿼리. 트랜잭션 기본적으로 데이터 변경은 트랜잭션 안에서 일어나야한다. - 서비스에서 메소드 트랜잭셔널을 붙이자 @Transactional javax와 spring중 spring을 import 하자, 기능이 더 많음 @Transactional(readOnly - true) 조회 기능에서 리드온니를 넣어주면 성능 증가. 기본적으로 서비스 클래스를 리드온리로 하고, 수정이 필요한 것에 @Transactional을 따로 붙임 기본적인 @Transactional은 readOnly = false 의존성 주입 @Autowired보단 생성자를 이용하는 방식 생성자만 있어도 스프링이 긱본적으로 @Autowired를 붙여줌 @Requir.. 2021. 9. 6.
[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.