JPA 5

@ManyToOne 양방향 맵핑시 stackoverflowError - lombok @Data를 사용할 경우

@Entity @Data @Table(name= "test_a") public class testA { @Id @Column private String id; @OneToMany(mappedBy = "testA"} private List testBList; } @Entity @Data @Table(name= "test_b") public class testB{ @Id @Column private String id; @Column(name = "test_a_id") private String testAId; @ManyToOne @JoinColumn(name = "reference_design_id", referencedColumnName = "id") private testA testA; } 다음과 같이 ..

JPA 2021.09.09

CrudRepository로 save()를 사용하면 select가 먼저 실행됨

CrudRepository를 사용하여 save()를 실행시키면 종종 insert가 아닌 update가 일어나는걸 볼 수 있었는데 /* * (non-Javadoc) * @see org.springframework.data.repository.CrudRepository#save(java.lang.Object) */ @Transactional public S save(S entity) { if (entityInformation.isNew(entity)) { em.persist(entity); return entity; } else { return em.merge(entity); } } save()처리시 파라미터로 받은 엔티티를 isNew로 분기처리하여 persist나 merge를 시킨다. 엔티티에서 id값이 ..

JPA 2021.08.18

intelliJ환경 spring boot jpa에 querydsl적용하기

새로운 프로젝트를 진행하며 환경설정중에 처음에는 이동욱님 글을 참조하여 세팅하려 했으나 jojoldu.tistory.com/372 Spring Boot Data Jpa 프로젝트에 Querydsl 적용하기 안녕하세요? 이번 시간에는 Spring Boot Data Jpa 프로젝트에 Querydsl을 적용하는 방법을 소개 드리겠습니다. 모든 코드는 Github에 있습니다. Spring Data Jpa를 써보신 분들은 아시겠지만, 기본으로 제공해 jojoldu.tistory.com annotationProcessor jakarta~ 설정하는 부분에서 jakarta annotation을 찾지 못하는 문제가 있어 다르게 설정해봤다 buildscript{ ext{ querydslVersion = "4.3.1" } }..

JPA 2021.05.12

eclipse querydsl세팅시 Qclass를 찾지 못하는 경우 Qclass no class def found error

프로젝트에서 기존에 JPA를 사용하고 있었지만, spring data jpa에서 제공하는 query method와 JPQL로 사용하고 있었다. 새로운 기능을 추가하며 querydsl을 사용하게 되었고 세팅과정에서 겪은 어려움을 공유하고자 한다. 내가 겪은 문제는 Q도메인 생성에 문제 없음 소스상에서도 정상적으로 Qclass import시 문제없음 build / jar파일 생성시에도 문제없음 하지만 포스트맨으로 api call하면 Qclass를 찾지 못하는 문제가 있었다. 쿼리타입을 사용하여 불러올때 QMember qMember = new QMember("m"); QMember qMember = QMember.member; 와 같이 선언한 부분에서 no class def found error를 내뱉으며 문..

JPA 2021.03.11