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