Oplossing 1
Maak een databaseweergave op de Table1 die refereert naar een refererende sleutel die verwijst naar Table2 . Projecteer de externe sleutel van uw geposte query die u toch voor de weergave zult gebruiken. Wijs vervolgens uw entiteit toe aan de weergave.
Oplossing 2
Gebruik join-formule :
Bijvoorbeeld in de entiteit die is toegewezen aan Table1 definieer de veel-op-een associatie met de entiteit die is toegewezen aan Table2 (lijkt jouw gebruiksscenario te zijn):
@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;
Echter, join-formules lijken voorlopig erg kwetsbaar in Hibernate (ik slaagde erin om dit alleen te laten werken voor veel-op-een associaties en ik moest Entity2 maken implementeer Serializable; anders werkte het niet en gooide een vreemde NullPointer- en ClassCastException s).