BackEnd(Java)/JPA 트러블 슈팅(6)
-
org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list 에러 해결
현상 JQPL 사용 중 아래 쿼리처럼 작업했는데 "query specified join fetching...." 오류가 발생하였다. 원인 fetch join을 사용하는 이유는 엔티티 상태에서 엔티티 그래프 탐색을 하기 위해 사용하는 것인데, select 부분에 엔티티가 아닌 DTO가 있으므로 fetch join 사용이 불가능해진다! 해결법 따라서 DTO 매핑하여 반환하고 싶을때는 fetch join - join으로 변경하여 사용하도록 해야 한다. 참고자료 https://www.inflearn.com/questions/23847/queryprojection%EA%B3%BC-fetch-join
2023.06.13 -
error: Attempt to recreate a file for type study.querydsl.entity.Qxxx
Q-DSL 공부 중 Q객체를 생성하기 위해 compileQuerydsl을 실행하였다. 그런데 아래 오류 현상을 발견하게 되었음 원인 Q 객체 생성시 이미 폴더나 객체가 생성되어 있어 덮어 쓸 수 없을 때 발생하는 에러이다. 해결방법 따라서 build 되었을 때 생성되는 파일 .out으로 생성 되는 파일을 지우고 다시 gradle > other > compileQuerydsl 을 실행하게 되면 정상 작동함. 아래 폴더를 열면 끝까지 내려가면 문제되는 Q 객체를 찾을 수 있음. 그래서 삭제하면 됨 참고자료 https://kangwoojin.github.io/programing/query-dsl-setting-old/
2022.11.28 -
JdbcSQLSyntaxErrorException: Column "start_value" not found 에러 해결법
h2 db에 연결하여 테스트를 진행하던 중 JdbcSQLSyntaxErrorException: Column "start_value" not found 에러가 발생하였다. 응? 분명히 이전까지는 잘 되었는데.. 생각해보니 application.yml파일의 ddl-auto를 create -> update로 변경하니 위의 에러가 발생하게 되었다. 그래서 찾아보니 hibernate.dialect 설정과 ddl-auto 설정 등 여러 가지 해결방법이 있었는데 ddl-auto를 update -> none으로 바꿔서 실행하니 잘 해결되었다. 혹시 이 방법으로도 해결 안되면 아래 참고자료 링크를 참고하시면 됩니다. 참고자료 https://stackoverflow.com/questions/64615730/how-to-f..
2022.09.18 -
Repeated column in mapping for entity 에러 해결
프로젝트를 진행하면서 특정 엔티티에 동일한 엔티티 필드를 2개 이상 있는 경우가 생겼다. 아래 그림 1을 보면 Member 엔티티를 2개의 필드가 있다.(Member pt, Member writer) 처음에는 @JoinColumn의 name 속성을 연관관계가 있는 엔티티(Member)의 PK값의 @Column의 name값과 무조건 동일하게 설정해줘야 한다고 생각했다.(여기서는 MEMBER_ID) 하지만 그렇게 하면 아래 그림 2처럼 오류가 발생하게 된다. @JoinColumn에 대해서 잘못 이해하고 있었고 제대로 이해하기 위해서 찾아보게 되었다. @JoinColumn @joinColumn은 어노테이션이 붙은 필드의 엔티티를 추적해서 그 엔티티(Member)의 PK와 Join 시켜준다. @joinColum..
2022.04.18 -
Field 'id' doesn't have a default value 에러 해결
추후 청리 https://hak0205.tistory.com/63 [에러] Field 'id' doesn't have a default value 해당 에러에서 나타는것과 같이 id값의 기본값이 없다고 나왔습니다. 분명히 기본으로 생성하게 @GeneratedValue(strategy = GenerationType.IDENTITY)를 사용해서 기본으로 키 값이 생성되게 만들었습니다. -.. hak0205.tistory.com
2022.04.05 -
could not initialize proxy 오류 해결
https://cantcoding.tistory.com/78 JPA/ could not initialize proxy - no Session 1.문제점 JPA를 통한 개발을 하다보면 한번쯤 만날 수 밖에없는 에러이다. JPA를 사용하여 DB에 저장된 리소스를 불러와서 반환하는 경우, 혹은 사용할 때 발생했던 에러이다. 2.접근 JPA에 대한 이 cantcoding.tistory.com
2022.04.04