JPQL

·JPA
01. 프로젝션 프로젝션이란? SELECT 절에 조회할 대상을 지정하는 것을 말한다. 프로젝션 대상으로는 엔티티, 임베디드 타입, 스칼라 타입 (숫자, 문자 등 기본 데이터 타입) 이 있다. 관계형 데이터베이스 같은 경우, 스칼라 타입(숫자, 문자 등 기본 데이터 타입)만 넣을 수 있다. 엔티티 프로젝션 다음 쿼리의 예시를 보자. SELECT m FROM Member m 이렇게 가져온 쿼리의 결과는 영속성 컨텍스트에 관리가 될까? 된다. 아래는 예시 코드이다. 아래 실행 결과와 같이 영속성 컨텍스트에서 관리되고 있음을 볼 수 있다. 다음 쿼리의 예시를 보자. SELECT m.team FROM Member m Member를 통해 Team을 조회하고 싶다면 다음과 같이 작성하면 된다. List result ..
·JPA
01. JPQL 소개 JPQL 소개 JPQL은 객체지향 쿼리 언어이다. 따라서 테이블을 대상으로 쿼리하는 것이 아니라, 엔티티 객체를 대상으로 쿼리한다. 즉 @Entity(name = "")에 name에 해당하는 값을 말한다. 중요한 것은 JPQL은 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다는 것이다. JPQL은 결국 SQL로 변환된다. (최대한 SQL문과 비슷하게 짜는 것이 좋다.) 02. JPQL 문법 JPQL 문법 예시로 select m from Member as m where m.age > 18을 들 수 있다. 엔티티와 속성은 대소문자를 구분한다. JPQL 키워드는 대소문자를 구분하지 않는다. (SELECT, FROM, WHERE 등) 엔티티 이름을 사용해야 한다. 테이블 이름..
·JPA
01. JPA 구동 방식 Persistence로 META-INF/persistence.xml를 읽어 설정 정보를 조회한다. EntityManagerFactory 라는 클래스를 생성한다. 필요할 때 마다 EntityManager 를 생성한다. 02. 객체와 테이블을 생성하고 매핑하기 Annotation @Entity 는 JPA가 관리할 객체임을 명시한다. @Id 는 데이터베이스의 Primary Key와 매핑할 때 사용한다. Member 클래스 작성하기 @Entity @Getter @Setter public class Member { @Id private Long id; private String name; } @Getter와 @Setter를 사용하면 다음과 같이 길게 작성해야 하는 코드를 자동으로 만들어준..
coding-orange
'JPQL' 태그의 글 목록