SELECT m FROM Member m -> 엔티티 프로젝션SELECT m.team FROM Member m -> 엔티티 프로젝션List<Team> result = em.createQuery("select m.team from Member m"
, Team.class).getResultList();
//그런데 기본적으로 조인으로 명확하게 해라! (예측 위함)
List<Team> result = em.createQuery("select t from Member m join m.team t"
, Team.class).getResultList();
SELECT m.address FROM Member m -> 임베디드 타입 프로젝션SELECT m.username, m.age FROM Member m -> 스칼라 타입 프로젝션프로젝션으로 가져온 결과는 다 영속성 컨텍스트에서 관리됨!!
List<Member> result = em.createQuery("select m from Member m", Member.class)
.getResultList();
반영됨
Member findMember = result.get(0);
findMember.setAge(20);
SELECT m.username, m.age FROM Member mSELECT new jpabook.jpql.UserDTO(m.username, m.age) FROM Member m
• 패키지 명을 포함한 전체 클래스 명 입력
• 순서와 타입이 일치하는 생성자 필요List<MemberDTO> result = em.createQuery("select new jpql.MemberDTO(m.username, m.age)
from Member m", MemberDTO.class).getResultList();