Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Hibernacja mapowania dwóch tabel do jednej klasy

Aby zmapować pojedynczą klasę do dwóch (lub więcej) oddzielnych tabel, musisz użyć @SecondaryTable adnotacja:

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

Następnie musisz opisać każdą indywidualną właściwość zmapowaną na TRAINERS tabela z @Column(table="TRAINERS") aby określić, do której tabeli należy. Jeśli zamiast tego używasz mapowań XML, wszystkie powyższe czynności można wykonać za pośrednictwem dołącz element.

To powiedziawszy, wydaje mi się, że twoje dwie tabele mają raczej inny charakter i nie powinny być mapowane do jednej klasy (zwłaszcza, że ​​powiedziałeś, że już zmapowałeś ROOMS gdzie indziej). Być może powinieneś zmapować swojego trenera jako ManyToOne zamiast tego stowarzyszenie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwersja ułamka ułamkowego na dziesiętny

  2. Jak ustawić nazwę schematu dla sekwencji w czasie wdrażania przy użyciu JPA?

  3. Czy nadal muszę instalować klienta Oracle, jeśli używam Microsoft ODBC for Oracle do łączenia się z bazą danych Oracle?

  4. logika w klauzuli HAVING, aby uzyskać wiele wartości grupy według wyniku

  5. Oracle - zastosowanie funkcji to_number do kolumny varchar