ABAP DUMP ERROR 24시

JPA Service 계층 오류 (Optional) 본문

[WEB]오류들/inteilij-git오류

JPA Service 계층 오류 (Optional)

이운형 2022. 5. 22. 17:12
반응형
public interface MemberRepository  extends JpaRepository<Member, Long> {


    Optional<Member> findByEmail(String email);

 

다음과 같이 만들고

 

public Long addCart(CartItemDto cartItemDto, String email){
    Item item = itemRepository.findById(cartItemDto.getItemId()).orElseThrow(EntityNotFoundException::new);
    Member member =  memberRepository.findByEmail(email);

 

컴파일 오류발생

 

 

핵심은 Optional 을 사용했으면 .orElseThrow를 통해 Service를 날려 줘야 했던것!

 

<추가줘야할 부분>

.orElseThrow(EntityNotFoundException::new)

 

public Long addCart(CartItemDto cartItemDto, String email){
    Item item = itemRepository.findById(cartItemDto.getItemId()).orElseThrow(EntityNotFoundException::new);
    Member member =  memberRepository.findByEmail(email)
            .orElseThrow(EntityNotFoundException::new);

다음처럼 변경!

 

 

if문을 활용하여 member 가 nulll 일 경우에는 UsernameNotFoundException을 통해 해결해 주도록 코딩

public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
    Member member = memberRepository.findByEmail(email).orElseThrow(EntityNotFoundException::new);

    if (member == null) {
        throw new UsernameNotFoundException(email);
    }

 

 

반응형
Comments