본문 바로가기

Spring/Spring JPA

[JPA] IsEmpty와 IsNotNulLL 의 차이점

IsEmpty와 IsNotNull은 JPA에서 사용되는 조건 검사 메서드들로, 컬렉션 또는 특정 필드의 상태를 확인할 때 주로 사용됩니다. 두 메서드는 개념적으로 다음과 같은 차이점이 있습니다:

  1. IsEmpty
    • 의미: IsEmpty는 주로 컬렉션(List, Set 등)이 비어 있는지 확인할 때 사용됩니다.
    • 용도: 주로 데이터베이스에서 컬렉션이 비어 있는 경우(즉, 자식 엔터티가 없는 경우)를 찾고자 할 때 사용됩니다.
    • 예시:
       
// 예시: orders가 비어 있는 User 엔터티를 찾는 경우
List<User> users = userRepository.findByOrdersIsEmpty();

 

 

비교 대상: IsEmpty는 컬렉션에 대해 사용되며, 단순히 값이 없는 컬렉션이나 필드(빈 상태)를 확인합니다.

 

2.IsNotNull

  • 의미: IsNotNull은 필드가 null이 아닌지를 확인합니다.
  • 용도: 특정 필드가 null이 아닌 엔터티만을 검색하고자 할 때 사용됩니다.
  • 예시:
// 예시: email 필드가 null이 아닌 User 엔터티를 찾는 경우
List<User> users = userRepository.findByEmailIsNotNull();

 

비교 대상: IsNotNull은 단순히 특정 필드가 null인지 아닌지를 확인하며, 컬렉션의 경우에도 해당 필드 자체가 null이 아니라는 것을 의미합니다.

요약

  • IsEmpty: 컬렉션이 비어 있는지(요소가 없는지) 확인.
  • IsNotNull: 특정 필드가 null이 아닌지를 확인.

'Spring > Spring JPA' 카테고리의 다른 글

[JPA] ENUM 타입  (0) 2024.11.12
[JPA] 엔티티 클래스에서 많이 사용되는 어노테이션  (0) 2024.11.12
[JPA] Paging  (0) 2024.11.12
Query by Example(QBE)  (0) 2024.11.11
Spring Boot JPA 간단하게  (2) 2024.11.04