Oracle
 sql >> база данни >  >> RDS >> Oracle

Hibernate Съпоставяне на две таблици към един клас

За да картографирате един клас към две (или повече) отделни таблици, трябва да използвате @SecondaryTable анотация:

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

След това ще трябва да анотирате всяко отделно свойство, нанесено на TRAINERS таблица с @Column(table="TRAINERS") за да посочите към коя таблица принадлежи. Ако вместо това използвате XML съпоставяния, всичко по-горе може да се направи чрез присъединяване елемент.

Всичко казано дотук, струва ми се, че вашите две таблици са доста различни по природа и не трябва да бъдат картографирани към един клас (особено след като казахте, че вече сте картографирали ROOMS другаде). Може би трябва да картографирате вашия Trainer като ManyToOne асоциация вместо това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle последователност, но след това в MS SQL Server

  2. Oracle To_Char функция V във форматен низ

  3. Игнорирайте параметъра за период от време в клаузата where, когато параметърът не е въведен

  4. Какво е качествена среда за разработка за писане на Oracle SQL?

  5. множествен случай SQL заявка извлича един ред като множество колони