次のテーブルがあるとします。
Locations
================
LocationKey, LocationName
Employees
================
EmployeeKey, FirstName, LastName
EmployeeLocationXRef
================
EmployeeLocationXRefKey, LocationKey, EmployeeKey
TimeSheets
=================
TimeSheetKey, EmployeeLocationXRefKey, Minutes
OK、ご覧のとおり、すべてのTimeSheets
for aLocation
とを取得するに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
エンティティが直接マッピングされていないことを忘れていました。これが本当の問題になる可能性があります。そのエンティティ マッピングの作成について見て、それが簡単になるかどうかを確認します。