스프링 공부/JPA

[JPA] 26. Re.Zero : JPQL 의 타입표현

장아장 2023. 1. 19. 19:36

JPQL의 타입 표현

문자 :  ‘~’(작은 따옴표)에 넣어주어야 한다. 

숫자 :  Integer를 제외한 경우에는, L(Long), D(Double), F(Float)를 숫자 뒤에 입력해주어야 한다.

Boolean : TRUE, FALSE

ENUM : entity.Role.USER ( 패키지를 모두 포함시켜야 한다 )

엔티티 타입 : TYPE(m) = MEMBER( 보통은 상속관계에서 사용된다 )

 

조건식

기본 case : select case when m.age <= 10 then ‘학생요금’ when m.age >= 60 then ‘경로요금’ else ‘일반요금’ end from Member m;

단순 case : select case t.name when ‘A’ then ‘+110%’ when ‘B’ then ‘+120%’ else ‘+105%’ end from Team t;

 

Coalesce : 하나씩 조회해서 null이 아니면 반환

Nullify(~~, ~~) : 두 개를 비교해 같으면 null반환하고, 아니면 첫번째 것을 반환한다. 

 

기본의 경우

이런식으로 출력했을 때

 

100개를 돌려서 다 보여주긴 힘들지만 이렇게 문자열로 바꾸어 잘 나온다. 

 

coalesce를 이용했을 때, 널 값일 경우 알 수 없음을 띄우려고 했다. 

이름을 설정하지 않았기 때문에, 이름 알 수 없음을 출력해야 한다. 

 

이 때에는 이름이 관리자라면 null값으로 나와야 한다. 

멤버에 이름을 관리자로 설정해주었다. 

null값으로 바뀌어 잘 나온다.