[JPA] 조건식

조건식

  • 타입의 표현
    • 문자
      • 자아근~ 따옴표 ()묶어 사용
      • 작은 따옴표를 표현하려면 연속 두개로 사용 ''
    • 숫자
      • Long 은 L
      • Double 은 D
      • Float 은 F 를 숫자 뒤에 붙여 타입을 지정
    • 날짜
      • DATE
        • {d 'yyyy-mm-dd'} 형식 사용
      • TIME
        • {t 'hh-mm-ss'} 형식을 사용
      • DATETIME
        • {ts 'yyyy-mm-dd hh:mm:ss.f'} 형식을 사용
    • Boolean
      • TRUE , FALSE 로 표현

예제

  • 문자: 'HELLO', ''She''s'
  • 숫자: 10L, 10D, 10F
  • 날짜: {d '2012-03-24'}, {t '10-11-11'}, {ts '2012-03-24 10-11-11.123'}
  • Boolean: TRUE, FALSE

ENUM 과 엔티티 타입

  • Enum
    • 패키지명을 포함한 전체 이름을 사용해야함
    • jpabook.MemberType.Admin
  • 엔티티 타입
    • 엔티티의 타입을 표현하고 주로 상속관련 해서 사용된다고 합니다
    • TYPE(m) = Member

연산자의 우선 순위

  1. 경로 탐색 연산
  1. 수학 연산: +, (단항 연산자), , /, +,
  1. 비교 연산: =, >, >=, <, <=, <>, [NOT] BETWEEN, [NOT] LIKE, [NOT] IN, IS [NOT] NULL, IS [NOT] EMPTY, [NOT] MEMBER [OF], [NOT] EXISTS
    • 💡💡[NOT] MEMBER [OF] 는 뭘까?
      • 컬렉션에 속한 엔티티의 멤버십을 테스트할 떄 사용
      • 엔티티가 특정 컬렉션 값 필드에 있는지 여부를 확인시 사용한다고 함.
      • 예시
        • Employee 가 엔티티 Projectemployees 라는 컬렉션에 속해있는지 확인하려면
        SELECT p FROM Project p WHERE :employee MEMBER OF p.employees
        • :employee 는 바인딩할 엔티티 변수이며
        • NOT MEMBER OF 는 정반대의 경우를 테스트함
          • 특정 엔티티가 주어진 컬렉션에 속하지 않는 경우를 확인할 때 사용함
  1. 논리 연산: NOT, AND, OR

논리 연산과 비교식

  • AND
    • 두 조건을 모두 만족해야 참
  • OR
    • 주 조건 중 하나만
  • NOT
    • 조건식의 반대

비교식

  • BETWEEN: X [NOT] BETWEEN A AND B는 X가 A와 B 사이에 있으면 참입니다 (A와 B 포함).
  • IN: X [NOT] IN (값)은 X가 지정된 값 중 하나와 같으면 참입니다.
  • LIKE: 문자열 표현식이 패턴과 일치하면 참입니다.
    • %: 어떤 값들이든 매치될 수 있습니다 (값이 없어도 됨).
    • _: 한 글자를 매치합니다 (값이 있어야 함).


Uploaded by N2T

'자바 > JPA' 카테고리의 다른 글

[JPA] 스칼라 타입  (0) 2023.11.12
[JPA] 서브 쿼리 ( Subqueries )  (0) 2023.11.10
[JPA] 값 타입과 불변 객체  (0) 2023.11.10
[JPA] 값 타입 컬렉션  (0) 2023.11.09
[JPA] 값 타입 컬렉션 개요  (0) 2023.11.09