젤리킴
62
2020-05-21 08:36:10
1
221

spring jpa hibernate관해 질문드립니다.


mybatis만 하다가 jpa도 배울려고 공부중인데요.

이런 경우는 어떻게 해야 할지 궁금합니다.

게시판으로 예를 들면 Post 엔티티있고

거기에 PostFile이란 엔티티가 OneToMany로 List형식으로 되어있습니다.

리스트 가져올 시에는 특정 컬럼만 가져오고 싶은데

@Query로 a.postId, a.title하면 에러가 뜨더라구요.

@EntityGraph이건 성능개선으로 추가한건데 쿼리로 보면 제가 원하던 쿼리로 나오는것 같습니다.

@EntityGraph(attributePaths = "files")
@Query(value="select DISTINCT a from Post a where a.board = ?1 order by a.postId desc"
,countQuery="select count(DISTINCT a) from Post a where a.board = ?1")
Page<Post> findByBoard(Board board, Pageable page);


0
  • 답변 1

  • rebwon
    433
    2020-05-21 09:33:19

    post 테이블이신데, SPEL을 사용한 것도 아니고 Alias를 사용한 것도 아니시네요 그냥 p.title p.id로 가져오세요. 원래 @Query애노테이션은 엔티티 테이블 첫글자 사용합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.