Everyday Dev System

JPA 활용시 _(언더바)의 예약어 역할 본문

내배캠 주요 학습/Spring 입문

JPA 활용시 _(언더바)의 예약어 역할

chaeyoung- 2023. 6. 15. 13:22

Spring Data JPA - Reference Documentation

 

Spring Data JPA - Reference Documentation

Example 121. Using @Transactional at query methods @Transactional(readOnly = true) interface UserRepository extends JpaRepository { List findByLastname(String lastname); @Modifying @Transactional @Query("delete from User u where u.active = false") void del

docs.spring.io

위 공식 문서 링크에서 아래 해당 부분을 찾아가면 (_) 언더바의 예약서로서의 역할을 설명해줍니다.

4.4.3. Property Expressions

 

 

JPA의 예약어 ( _ )

JPA에서는 _(언더바)를 프로퍼티를 찾기위한 탐생경로를 지정하는 예약어라고 한다.

 

조건에 해당하는 프로퍼트를 찾을 수 없으면 카멜 표기법으로 머리와 꼬리를 구분해 프로퍼티를 찾아가는 로직이 존재합니다. 

언더스코어는 이미 Spring Data JPA의 탐색 경로를 설정하는 예약어 이기 때문에 Property Expressions에 사용하면 안됩니다. 스네이크 표기법을 사용하기보단 자바의 네이밍 컨벤션인 카멜 표기법을 사용하는 것을 추천합니다.객체 그래프를 탐색하는 조건의 경우 _를 사용하면 객체 그래프 탐색 경로를 지정할 수 있습니다.

 

 

해당 글은 아래 글을 참조하였습니다.

JPA Property Expressions 쿼리 생성시 참조타입 탐색 경로 지정하기 | 기록하기 (hongsii.github.io)

 

JPA Property Expressions 쿼리 생성시 참조타입 탐색 경로 지정하기

JPA Property Expressions으로 쿼리 생성시 참조타입 탐색 경로 지정하기

hongsii.github.io