본문 바로가기

나만의 작업/Spring

[SpringData JPA] query method predicate keywords - null이 아닌 빈값을 제외하고 싶을때

보통은 컬럼값에 null이거나 null이 아닌 값을 쿼리하는 경우가 많은데 가끔 빈값으로 데이터를 채워 넣고 빈값("")이 아닌 데이터를 쿼리해서 리턴해야할 경우가 있다.

예) phoneNumber != "" 

Spring Data JPA에서 기본으로 제공하는 repository method명에는 isEmpty나 isBlank같은건 없다. 대신 method의 argument로 빈값("")을 넘겨 받도록 하고 Not 을 써주면 된다.

repository.findByPhoneNumberNot("")

 

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

 

Spring Data JPA - Reference Documentation

Example 109. 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