0
比方說,我有如下表:如何在JPA中註釋這個複雜的連接?
Locations
================
LocationKey, LocationName
Employees
================
EmployeeKey, FirstName, LastName
EmployeeLocationXRef
================
EmployeeLocationXRefKey, LocationKey, EmployeeKey
TimeSheets
=================
TimeSheetKey, EmployeeLocationXRefKey, Minutes
OK,所以你可以看到,爲了讓我把所有的TimeSheets
的一個Location
和Employee
,我可以做的SQL
select
*
from TimeSheets ts
join EmployeeLocationXRef ex on (ex.EmployeeLocationXRefKey = ts.EmployeeLocationXRefKey)
join Locations l on (l.LocationKey = ex.LocationKey)
join Employees e on (e.EmployeeKey = ex.EmployeeKey)
where
l.LocationKey = 'xxxx'
and e.EmployeeKey = 'yyyy'
但我已經想盡辦法,我能想到的使用@JoinTable
JPA與(帶註釋)映射等
任何想法如何可以這樣做?不幸的是,這是一個遺留系統,架構不能改變。
編輯
忘了提EmployeeLocationXRef
實體還沒有被直接映射。這可能是真正的問題。我將看到有關創建該實體映射的信息,並查看它是否更容易。
忘了提及'EmployeeLocationXRef'實體沒有被映射。 – cbmeeks
嗯,這就是問題所在。它必須被映射。 –
我很害怕這個。沒什麼大不了的。我們只是希望能夠做一些像'location.getTimeSheets()'這樣的東西。我想我們可以爲它建立一個自定義的getter? – cbmeeks