프로그래밍

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5717 [프로그래밍] libtorch에서 cuda 안불러와지는거 도움! 1 Hakat 0 17 시간 전 95
5716 [프로그래밍] 뭔가 게시판이 애매해서 그런데 gis 잘아는 사람? 1 하늘늑대 0 1 일 전 143
5715 [프로그래밍] 컴포즈가 프리뷰랑 폰에서 다르게 동작해요 1 집에가게해줘 0 1 일 전 96
5714 [프로그래밍] 난바보다) 크로미움 램사용량 문제 일단 해결 2 ye 0 3 일 전 273
5713 [프로그래밍] k8s DNS 이슈는 해결이 안되나보다. 잉텔 0 3 일 전 163
5712 [프로그래밍] 분노) 진짜 유튜브 구글 패악질 토나오네 씨발 17 ye 0 5 일 전 751
5711 [프로그래밍] 프론트엔드 공부하려는데 언어 추천좀 7 스트리플 0 5 일 전 334
5710 [프로그래밍] 객체지향 뽕에 취하지마라 8 69746974 2 6 일 전 390
5709 [프로그래밍] 요즘 앱개발 인력시장 어떰..3년차 2 센치해요 0 9 일 전 378
5708 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 11 일 전 148
5707 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 11 일 전 295
5706 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 14 일 전 388
5705 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 15 일 전 260
5704 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 15 일 전 233
5703 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 15 일 전 332
5702 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 16 일 전 364
5701 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 17 일 전 376
5700 [프로그래밍] 아두이노 키트 아무것도 모르고 사도 될까? 6 그것 0 17 일 전 284
5699 [프로그래밍] 횽들 Vimeo에 올라가있는 동영상의 원본크기를 확인할 수 있... 13 카뜨만두 0 17 일 전 203
5698 [프로그래밍] c# 이벤트와 델리게이트 13 RX7900XTX 0 20 일 전 336