SPRING/JPA

[JPA]NamedQuery

노트코드 2022. 1. 21. 01:29
  • 미리 정의해서 이름을 부여해두 사용하는 sql로 정적 쿼리에서만 사용 가능하다.어노테이션 , XMl에 정의하며, 애플리케이션 로딩 시점에 초기화 후 재사용 한다.
  • 애플리케이션 로딩 시점에서 쿼리를 검증
@Entity
@NamedQuery(
		name ="Member.findByUsername",
		query  = "select m from Member m where m.username = :username"

		//blabla
)

사용은 아래와 같이 할 수 있다.

List<Member> results = em.createNamedQuery("Member.findByUserName", Member.class)
    .setParameter("username", "회원1")
    .getResultList();