JAVA

[JAVA] @NamedQuery 와 @Query

응디 2022. 2. 15. 17:43

@NamedQuery

 

- 장점

NamedQuery는 애플리케이션 로딩 시점에 버그를 잡을 수 있다는 장점이 있지만

실무에서 잘 사용하지 않는다.

 

- 단점

파싱이 안된다.

기능을 호출 하기 전까지는 버그를 잡을 수 없다.


@Query

애플리케이션 로딩 전에 쿼리를 다 sql로 파싱해서 만들어 둔다.

→ 그렇다면 애플리케이션 실행 전에 버그를 잡을 수 있다.

@Query("select m from Member m where m.username = :username and m.age = :age")
List<Member> findUser(@Param("username") String username, @Param("age") int age);

@Query("select m.username from Member m")
List<String> findUsernameList();