Řešení 1
Vytvořte zobrazení databáze v Table1 který odhaluje odkazování na cizí klíč Table2 . Promítněte cizí klíč z vašeho zaslaného dotazu, který stejně použijete pro zobrazení. Poté namapujte svou entitu na zobrazení.
Řešení 2
Použijte vzorec spojení :
Například v entitě mapované na Table1 definujte přidružení typu many-to-one s entitou mapovanou do Table2 (zdá se, že je to váš případ použití):
@ManyToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula(example@sqldat.com(value="(SELECT t2.serial FROM Table2 t2 WHERE serial1 = t2.serial OR serial2 = t2.serial)", referencedColumnName="serial"))
})
private Entity2 entity2;
Spojovací vzorce se však v Hibernate zatím zdají být velmi křehké (podařilo se mi, aby to fungovalo pouze pro mnohonásobnou asociaci a musel jsem vytvořit Entity2 implementovat Serializable; jinak to nefungovalo a vyhodilo to nějaký divný NullPointer- a ClassCastException s).