스프링에서 Optional 객체에 get() 메소드를 사용하여 안에 있는 객체를 가져올 수 있습니다.

하지만 비어있는 Optional 객체를 대상으로 get() 메소드를 사용할 경우 에러가 발생합니다.

 

따라서 isPresent()객체를 사용하여 객체 존재여부를 확인 후에 가져오도록 해야합니다.

 

 

ex)

1
User user = userRepositorySupport.findUserByUserId(userId).get();
cs

=> findUserByUserId에서 객체를 못 가져왔을 시 에러 발생

 

1
2
3
4
5
6
Optional<User> user = userRepositorySupport.findUserByUserId(userId);
        
if(user.isPresent())
    return user.get();
else
    return null;
cs

=> isPresent() 메소드로 사전에 확인함으로 문제 해결

'Spring' 카테고리의 다른 글

Entity @Embeddable을 이용한 복합 키 구현  (0) 2021.08.01
Entity @IdClass를 이용한 복합 키 구현  (0) 2021.07.29
Spring @RequestParam String[] 문제  (0) 2021.07.24
Spring JPA Pagenation  (0) 2021.07.24
Spring 기본 세팅 (STS)  (0) 2021.06.12

+ Recent posts