sql >> Database >  >> RDS >> Oracle

Slaapstand Twee tabellen toewijzen aan één klasse

Om een ​​enkele klasse toe te wijzen aan twee (of meer) afzonderlijke tabellen, moet je een @SecondaryTable annotatie:

@Table(name="ROOMS")
@SecondaryTable(name="TRAINERS", pkJoinColumns={
    @PrimaryKeyJoinColumn(name="TRSC_OOC_UNIT_ID", referencedColumnName="OOC_UNIT_ID"),
    @PrimaryKeyJoinColumn(name="TRSC_OOC_START_DT", referencedColumnName="OOC_START_DT"),
    @PrimaryKeyJoinColumn(name="TRSC_OOC_START_TM", referencedColumnName="OOC_START_TM")
})
public class MyMergedEntity {

U moet dan elke afzonderlijke eigenschap annoteren die is toegewezen aan TRAINERS tabel met @Column(table="TRAINERS") om aan te geven bij welke tabel het hoort. Als u in plaats daarvan XML-toewijzingen gebruikt, kan al het bovenstaande worden gedaan via deelnemen element.

Dat gezegd hebbende, lijkt het mij dat je twee tabellen nogal verschillend van aard zijn en niet aan een enkele klasse moeten worden toegewezen (vooral omdat je hebt gezegd dat je al ROOMS hebt toegewezen ergens anders). Misschien moet je je Trainer toewijzen als ManyToOne in plaats daarvan associatie.



  1. OUT of INOUT argument 1 voor routine xxx is geen variabele of NIEUWE pseudo-variabele in BEFORE trigger

  2. Alleen de aangrenzende rijen groeperen

  3. Aan de slag met GearHost voor SQL Server-databaseontwikkeling

  4. Maak een SQL Server Agent-schema met T-SQL