프로그래밍

JPA 도와줘어억 ㅠ

이번에 첨써보는데 예약차량 테이블을 조회해서 list<entity> 형태로 반환하는 메서드가 있음.

Entity 안에 visit status 라는 컬럼값을 코드값으로 관리하고있어서 common_code 테이블에 있는 value를 코드값대신에 대체해서 list<entity> 형태 그대로 반환하고싶은데

 

이건 JPA 조인으로 해결이 어려운건가? 부트랑 mysql로 사용중임..

오전부터 했는데 안풀려서 푸념식으로 써봄.. 

10개의 댓글

2024.04.30

JPA와 Spring Boot를 사용하여 MySQL 데이터베이스에서 데이터를 조회할 때, 복잡한 조인과 엔티티의 변환을 처리하는 것은 꽤 일반적인 시나리오입니다. 여기서 설명하신 visit status 값이 common_code 테이블의 코드값으로 연결되어 있다면, JPA를 이용하여 이를 해결할 수 있는 몇 가지 방법이 있습니다.

 

방법 1: 엔티티에 @ManyToOne 또는 @OneToOne 매핑 사용하기

가장 간단한 방법 중 하나는 visit status 필드를 common_code 테이블에 대한 @ManyToOne 또는 @OneToOne 관계로 매핑하는 것입니다. 이 방법을 사용하면 JPA가 SQL 조인을 자동으로 처리하고, common_code 테이블에서 관련 값을 직접 참조할 수 있습니다.

 

예를 들어, Reservation 엔티티와 CommonCode 엔티티가 있다고 가정해보겠습니다.

 

java

Copy code

@Entity

public class Reservation {

@Id

private Long id;

 

@ManyToOne

@JoinColumn(name = "visit_status", referencedColumnName = "code")

private CommonCode visitStatus;

 

// 다른 필드들...

}

 

@Entity

public class CommonCode {

@Id

private String code;

private String value;

 

// 다른 필드들...

}

이 구조를 사용하면, Reservation 객체의 리스트를 조회할 때 visitStatus 필드에 자동으로 CommonCode 객체가 채워집니다. 이 객체에서 value 필드를 사용하여 실제 값을 얻을 수 있습니다.

0
2024.04.30
@덕덕고

GPT-4한테 한번 물어봐봄

0
2024.04.30
@덕덕고

나도 물어봐서 똑같이 나오긴하는데.. 저 새끼 말대로하면 응답데이터에 common_code 의 entity자체를 같이 반환해 ㅋㅋㅋㅋ ㅠ

0
2024.04.30
@모그리또

정확히 무엇을 하고 싶은지 질문 다듬어서 물어봐봐 생각보다 GPT-4 진짜 대답 잘함

0
2024.04.30

아 그러네 내가 질문을 정리 못했을수도있겠다 다시해볼게!

0
2024.04.30

복잡한건 querydsl 써여함..

0
2024.04.30
@년째금똥중

내부에서 정해진게 jpa랑 boot3.2에 맞춰서 나온 jdbcClient인데 jdbc하기 싫어서 이걸로 하는중이었으..ㅠ

0
2024.04.30
@모그리또

쿼리 어노테이션으로 쓰던가 해야하는데 난 그럴바엔 dsl씀...

0
2024.04.30

jpql 사용해서 dto로 반환하는 예제 한번 찾아보세요 원하는게 이거인것 같아요. 아니면 윗댓 처럼 QueryDSL 쓰거나

0
2024.05.01

Sql로 뽑을 수 있으면 웬만하면 jpa로도 되지 읺음?

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
181114 [모바일] 휴대폰 6년만에 새로사니까 이거저거 다 사고싶네ㅋㅋㅋ 샛별 0 2 시간 전 91
181113 [컴퓨터] m3 맥북프로사기 vs m4 맥북프로 존버하기 2 띨띠리 0 2 시간 전 85
181112 [모바일] 갤 울트라 에지라이트닝 자동 추가된거 개좋네 번부대 0 2 시간 전 39
181111 [모바일] my 갤럭시클럽으로 s24u 사면 이득 아님?? 6 최지로 0 3 시간 전 117
181110 [모바일] 폰 중고 추천점.. 9 버섯규 0 3 시간 전 59
181109 [잡담] 컴하하하 발작시키기 2 키슬레프의설렁탕 1 3 시간 전 72
181108 [프로그래밍] 객체지향 뽕에 취하지마라 7 69746974 2 4 시간 전 155
181107 [잡담] ㅎㅂ)컴갤에 도움 몇번 받았는데 보답한게 없어서 1 만년으로 하겠소 1 5 시간 전 197
181106 [컴퓨터] 켜져있는 모니터 콘센트 빼는 행위 안좋을까? 4 만년으로 하겠소 0 5 시간 전 84
181105 [컴퓨터] 당근 컴터 살만한거 있을까? 5 맺맺 0 7 시간 전 94
181104 [컴퓨터] 1070ti -> rx6800 고민 11 트레센카페트 0 7 시간 전 107
181103 [컴퓨터] ㅎㅂ)헤드셋과 와이파이 추천 전문가 있십니까 2 울려대는사이렌 0 8 시간 전 179
181102 [잡담] 아내 키보드랑 마우스 사줌 13 나뭉비토 0 11 시간 전 279
181101 [컴퓨터] 이틀째 컴퓨터 본체가 바로 안 켜집니다 2 A K S 0 13 시간 전 201
181100 [잡담] 알리 세일 여파가 쎄긴하네 13 장난없는사람 0 20 시간 전 672
181099 [잡담] 도움) pc 설치된 앱창이 바로 꺼지네요... 책받침 0 21 시간 전 101
181098 [잡담] AirPods Max 쓸만한가요? 8 69746974 0 22 시간 전 282
181097 [컴퓨터] 키보드 샀는데 판매자 측에서 2개 오발송으로 하나만 반송해... 개드립눈팅4년 0 1 일 전 285
181096 [컴퓨터] 갤북4 좋네 2 뮤잉운동케겔운동... 1 1 일 전 314
181095 [잡담] 환불신청함; 4 째규째규 0 1 일 전 374