Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hibernate ánh xạ hai bảng thành một lớp

Để ánh xạ một lớp tới hai (hoặc nhiều) bảng riêng biệt, bạn cần sử dụng @ Bảng phụ chú thích:

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

Sau đó, bạn sẽ cần chú thích từng thuộc tính riêng lẻ được ánh xạ tới TRAINERS bảng có @Column(table="TRAINERS") để chỉ định nó thuộc bảng nào. Nếu bạn đang sử dụng ánh xạ XML thay vào đó, tất cả những điều trên có thể được thực hiện thông qua tham gia phần tử.

Tất cả những gì đã nói, có vẻ như đối với tôi rằng hai bảng của bạn khá khác nhau về bản chất và không nên được ánh xạ vào một lớp duy nhất (đặc biệt là vì bạn đã nói rằng bạn đã ánh xạ ROOMS nơi khác). Có lẽ bạn nên ánh xạ Trainer của mình là ManyToOne thay vào đó là liên kết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi cần lưu trữ mã bưu điện trong cơ sở dữ liệu. Cột phải lớn bao nhiêu?

  2. Cách sử dụng AddBatch / withBatch đúng cách để chèn hàng loạt giá trị thẻ xml vào bảng cơ sở dữ liệu

  3. Phân tích cú pháp XML SOAP trong Oracle với ví dụ

  4. ROWID (oracle) - bất kỳ công dụng nào cho nó?

  5. Oracle APEX - Bảng tra cứu với một số liên kết