본문 바로가기

Jpa38

jpa 외래키 연관관계 맵핑 주인은 외래키가 존재하는 곳으로 설정 jpa 외래키 연관관계 맵핑 주인은 외래키가 존재하는 곳으로 설정 외래키 연관관계 맵핑 주인은 외래키가 있는 곳으로 설정 회원과 주문을 기준으로 1명의 회원은 여러 번의 주문을 할 수 있음. 일대다 관계임. 주문 테이블에 FK 가 있을것이고, 이 것을 연관관계 맵핑 주인으로 설정하는 것이 기본 원칙 만약 반대로 맵핑 주인을 설정한다면 주문 테이블에 위해 회원 테이블이 변경될 수 있기에 여러 번 호출. 이는 성능 문제를 발생시킴. 주문 테이블에 맵핑 주인이 있으면 1번만 호출하면 전부 변경할 수 있는데. 주인인 쪽은 읽기,쓰기가 가능하고. 주인이 아닌 쪽은 읽기만 가능. 회원은 읽기만. 주문은 읽기, 쓰기 가 소스로 설명하면 다음과 같음. // 회원 테이블, 주문 테이블이 있음. // 둘은 일대다 관계이고.. 2020. 12. 22.
Jpa querydsl selectFrom 간단한 예제 Jpa querydsl selectFrom 간단한 예제 아래와 같이 selectFrom 을 해주면 entity xxxTest 에 맵핑되고. select, from 따로 해줘도 됨. select 할 것이 엔티티 일부만이라면. private final JPAQueryFactory queryFactory; @Override public List findxxx( ... ) { return queryFactory.selectFrom(test) xxx xxx .fetch() ; } 2020. 12. 5.
spring data jpa querydsl property not found 에러 spring data jpa querydsl property not found 에러 상황 : xxxRepository 에서 기본적으로 제공하는 쿼리로만 로직을 짜기가 어려워서 querydsl impl 할일이 있었음. 근데 custom query 에서 계속 property not found 라고 나옴. 왜 그런가 하고 검색하다보니 xxxRepository, xxxRepositoryCustom, xxxRepositoryImpl 이름을 맞춰줘야 함. 안그러면 못찾음. xxxRepository123Custom 이런식으로 쓰면 위 에러가 남. 해결방안 : 아래 처럼 이름을 지어주자. public interface xxxRepository extends JpaRepository, xxxCustomRepository.. 2020. 12. 4.
jpa nativeQuery 로 오라클 시퀀스 호출 jpa nativeQuery 로 오라클 시퀀스 호출 jpa 에서 오라클 시퀀스 호출하는 법 @Repository public interface xxxRepository extends JpaRepostiroy { @Query(value = "SELECT test_sequence.nextval from dual", nativeQuery = true) BigDecimal findTestSeq(); } 2020. 12. 1.