공부하다죽어라
article thumbnail
[JPA] QueryDsl Maven 설정
개발/JAVA 2021. 6. 10. 13:48

QueryDSL이란 Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) API를 이용해서 쿼리를 생성할 수 있다. 단순 문자열과 비교해서 Fluent API를 사용할 때의 장점은 다음과 같다. IDE의 코드 자동 완성 기능 사용 문법적으로 잘못된 쿼리를 허용하지 않음 도메인 타입과 프로퍼티를 안전하게 참조할 수 있음 도메인 타입의 리팩토링을 더 잘 할 수 있음 Maven 설정은 다음과 같다. 1. pom.xml .... com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/j..

article thumbnail
[JPA] 영속성 컨텍스트
개발/JAVA 2021. 5. 14. 18:32

영속성 컨텍스트 엔터티를 영구저장할 수 있는 환경을 의미한다. JPA를 이해하는데 가장 중요한 용어로서 영속성 컨텍스트를 통해 JPA의 내부 구조 방식을 이해할 수 있다. 영속성 컨텍스트는 논리적인 개념이다. 이에 접근하기 위해서 우리는 엔터티 매니저를 이용해야한다. 영속성 컨텍스트를 활용함으로서 다음과 같은 이점을 얻을 수 있다. 1차 캐시 //엔티티를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); //엔티티를 영속 em.persist(member); EntityManager내부의 persist 매서드를 사용함으로서 엔터티를 영속할 수 있다. JPA는 우선적으로 member를 찾을 ..