sql >> Databáze >  >> RDS >> Oracle

Hibernate Mapování dvou tabulek do jedné třídy

Chcete-li namapovat jednu třídu na dvě (nebo více) samostatných tabulek, musíte použít @SecondaryTable anotace:

@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 {

Poté budete muset označit každou jednotlivou vlastnost namapovanou na TRAINERS tabulka s @Column(table="TRAINERS") určit, ke které tabulce patří. Pokud místo toho používáte mapování XML, vše výše uvedené lze provést pomocí připojit se prvek.

Vše, co bylo řečeno, se mi zdá, že vaše dvě tabulky jsou svou povahou poněkud odlišné a neměly by být mapovány do jedné třídy (zvláště když jste řekli, že jste již namapovali ROOMS někde jinde). Možná byste měli svého trenéra namapovat jako ManyToOne místo toho.



  1. Jak používat FILEPROPERTY() v SQL Server

  2. Proč musí mysqli_connect() obdržet parametr hesla bez šifrování?

  3. Proč tento příkaz SQL INSERT vrací chybu syntaxe?

  4. Použití spojení se seskupenými datovými řádky