inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 데이터 JPA

Optional 관련 질문있습니다.

220

hun

작성한 질문수 11

0

스프링 데이터 Common 3. Null 처리를 보고 궁금한게 있습니다!

아래 CommentRepotoryTest 클래스에 crud 메서드에서 MyRepository에 정의하고 CommentRepository가 상속받은 findById(ID id)를 테스트 하고 있었습니다.

현재 DB에 ID가 3에 해당하는 글이 존재하기 때문에 comment 변수에 해당 정보가 들어가 있겠거니 생각했는데 생각과는 달리 Optional을 Comment 객체로 캐스팅 할 수 없다는 오류가 발생하였습니다.

MyRepository와 CommentRepository에서는 Optional 관련 코드가 전혀 없는데 해당 오류가 어떤 이유로 인해 발생하는지 전혀 모르겠습니다.

@NoRepositoryBean
public interface MyRepository<T, ID extends Serializable> extends Repository<T,ID> {

    <E extends T> E save(E Entity);

    List<T> findAll();

    int count();

    <E extends T> E findById(ID id);

    /*@Nullable
    <E extends T> E findById(ID id);*/
}

public interface CommentRepository extends MyRepository<Comment,Long> {
}

@RunWith(SpringRunner.class)
@DataJpaTest
public class CommentRepostoryTest {

    @Autowired
    CommentRepository commentRepository;

    @Test
    public void crud(){
        Comment comment = commentRepository.findById(3l);
    }
}

spring JPA java

답변 1

0

백기선

커스텀 리파지토리 인터페이스를 정의하셨지만, 그 구현은 스프링 데이터 JPA가 제공하는데, 스프링 데이터 JPA 구현체에는 Optional을 사용한 findById 밖에 없기 때문입니다. 즉, 원하시는 findById는 직접 커스텀한 구현체까지 만들어서 제공해야 합니다.

spring boot 2.7.13-SNAPSHOT trace 소문자 로그 안나옴

0

533

1

<스프링 데이터 Common: 기본 리포지토리 커스터마이징> 에 대한 질문

0

392

1

comment table에서 저장될떄 왜 id값이 2부터저장이되는건가요?

0

407

1

@EnableJpaRepositories 설정을 스프링부트가 어디에서 자동설정하나요?

0

450

0

PersistenceContext 관련 질문드립니다.

0

335

1

지금(Eager), 나중에(Lazy)의 의미를 모르겠습니다

0

338

1

transaction 구간이 길어질 경우의 처리방법 문의드립니다.

0

905

1

docker postgres

0

292

1

Multiple DataSource 사용 시 transaction 관련 질문 드립니다.

0

2908

1

entity 중 null이 아닌 필드만 update 할 방법이 있을까요?

0

1190

1

Eager 모드일 경우, join을 inner join으로 바꾸는 법이 있을까요?

0

385

1

엔티티를 상속받는 DTO가 일반적인가요?

1

1847

1

커스텀 타입 클래스를 String 타입 처럼 이용해 쿼리하는 방법에 대해 질문하고 싶습니다.

0

339

1

연관관계 매핑 어떤식으로 해야될지 감이 안잡힙니다.

0

566

4

EntityManager 주입시 Annotation관련 질문드립니다.

0

565

1

클래스 기반 프로젝션 사용 관련 질문

0

560

1

save 메서드 질문드립니다.

0

258

1

복잡한 통계쿼리도 JPA로 가능한가요?

2

5592

1

find 와 get의 차이가 무엇인가요?

0

890

1

실무에서 JPA 할 때 FK로 개발할때 연관관계를 꼭 맺어주어야 하나요?

0

998

1

\dt Did not find any relations.

0

481

1

소스코드는 어디서 볼 수 있을까요?

1

287

1

table 생성과 select 문에 대한 질문

0

174

1

스프링 데이터 RepositoryTest 관련 질문

0

2173

2