解决方案1
在上创建一个数据库视图,该视图
Table1公开外键引用
Table2。从您发布的查询中投影外键,无论如何您将使用该外键进行视图。然后将您的实体映射到视图。
解决方案2
使用连接公式:
例如,在映射的实体中
Table1定义与映射到的实体的多对一关联
Table2(似乎是您的用例):
@ManyToOne@JoinColumnsOrFormulas({ @JoinColumnOrFormula(formula=@JoinFormula(value="(SELECt t2.serial FROM Table2 t2 WHERe serial1 = t2.serial OR serial2 = t2.serial)", referencedColumnName="serial")) })private Entity2 entity2;然而,加入公式似乎是hibernate的时间是非常脆弱的(我设法使这项工作只为许多-to-
one关联,我不得不作出
Entity2执行
Serializable;否则,它不工作,并投掷了一些奇怪的
NullPointer-和
ClassCastException为s)。



