Lösning 1
Skapa en databasvy på Table1
som avslöjar främmande nyckel som refererar till Table2
. Projicera den främmande nyckeln från din postade fråga som du ändå kommer att använda för vyn. Mappa sedan din enhet till vyn.
Lösning 2
Använd anslutningsformel :
Till exempel i entiteten som är mappad till Table1
definiera många-till-en-associationen med entiteten som är mappad till Table2
(verkar vara ditt användningsfall):
@ManyToOne
@JoinColumnsOrFormulas({
@JoinColumnOrFormula([email protected](value="(SELECT t2.serial FROM Table2 t2 WHERE serial1 = t2.serial OR serial2 = t2.serial)", referencedColumnName="serial"))
})
private Entity2 entity2;
Anslutningsformler verkar dock vara väldigt ömtåliga i Hibernate för tillfället (jag lyckades få detta att fungera endast för många-till-en-förening och jag var tvungen att göra Entity2
implementera Serializable
; annars fungerade det inte och kastade några konstiga NullPointer-
och ClassCastException
s).