Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- @Profile
- Spring Security
- 외부설정
- 알고리즘
- 리소스 서버
- JsonSerializer
- HATEOAS
- Application Event
- 브루트포스
- AuthenticationPrincipal
- 백준
- @ConfigurationProperties
- rest api
- Application Argument
- 정적 리소스
- 다익스트라
- 스프링 부트
- application.properties
- HttpMessageConverters
- 백트래킹
- WebApplication Type
- OAuth2
- 리소스핸들러
- 스프링부트
- 백기선
- EnableAutoConfiguration
- webjar
- cors
- JPA
- Application Runner
Archives
- Today
- Total
아카이브
[스프링 데이터 JPA] 스프링 데이터 Common 3. Null 처리하기 본문
스프링 데이터 2.0부터 자바 8 Optional을 지원한다.
- Collection은 Null이 아닌, 비어있는 Collection을 리턴한다.
- Optional 인터페이스가 제공하는 메서드를 사용해서 검사할 수 있다.
Optional 메서드를 통한 검사
- isPresent() : 값의 유무 확인
- orElse() : 값이 없다면, 다른 인스턴스를 리턴할 수 있다.
- orElseThrow() : 값이 없다면, 예외를 던진다.
Optional 실습 테스트
MyRepository에 Optional findById 추가하기
@Nullable
<E extends T> Optional<E> findById(@Nullable Id id);
테스트 코드
@Test
public void optionalTest() {
Optional<Comment> byId = commentRepository.findById(100l);
assertThat(byId).isEmpty(); // optional은 null을 리턴하지 않기에 empty를 체크해야 함.
}
Spring 5.0 부터 지원하는 Null 어노테이션
- 런타임 체크 지원 함.
- @NonNullApi, @NonNull, @Nullable
- JSR 305 애노테이션을 메타 애노테이션으로 가지고 있음. (IDE 및 빌드 툴 지원)
IntelliJ 설정 필요
'Spring > 스프링 데이터 JPA' 카테고리의 다른 글
[스프링 데이터 JPA] 스프링 데이터 Common 7. Custom Repository 만들기 (0) | 2021.01.16 |
---|---|
[스프링 데이터 JPA] 스프링 데이터 Common 4. 쿼리 만드는 방법 및 실습 (0) | 2021.01.16 |
[스프링 데이터 JPA] 스프링 데이터 Common 2. 인터페이스 정의하기 (0) | 2021.01.16 |
[스프링 데이터 JPA] 스프링 데이터 Common 1.레포지토리 (테스트) (0) | 2021.01.16 |
[스프링 데이터 JPA] 스프링 데이터 JPA 소개 및 원리 (0) | 2021.01.10 |