0
3 개의 테이블을 조인해야하는 경우가 있습니다. 상황은 아래와 같습니다.최대 절전 모드에서 다중 테이블 조인
- 자산 테이블.
- 트랜잭션 테이블.
- 직원 표. 지금
,
는 a) 저작물 여러 트랜잭션을 가질 수는OneToMany
의 관계가있다.
b) 하나의 트랜잭션은 하나의 Employee에만 속할 수 있으므로 일대일로 관계를 유지할 수 있습니다.
-> 나는 한 명의 직원에 대한 자산 목록을 얻어야합니다.
내 스키마입니다 : 내가 가입하고 쿼리를 실행하면
a) AssetTbl:
@Id
@ColumnName("ASSETID")
int assetId;
@OneToMany()
@JoinColumn(name="ASSET_ID",referncedColumnName="AssetId")
List<TransactionTbl> trans;
b) TransactionTbl:
@Id
@ColumnName("TRANS_ID")
int transId;
@ColumnName("ASSET_ID")
int assetId;
@OneToOne()
@JoinColumn(name="Emp_ID",referncedColumnName="Emp_Id")
EmployeeTbl emp;
c) EmployeeTbl:
@Id
@ColumnName("Emp_ID")
int empId;
그것이 employeeTbl이 AssetTbl에 존재하지 않는 예외를 제공합니다. 내 스키마에 문제가 있습니까?
, 왜 당신은 OneToOne를 사용합니까? 왜 자산에 대한 ManyToOne 대신 Transaction의 자산 ID를 저장합니까? 그리고 물론 예외 스택 추적과 그 원인이되는 코드를 게시하는 것이 어떻습니까? –