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

Làm thế nào để tham chiếu id của cha mẹ trong id của trẻ với JPA / Hibernate?

Các ánh xạ phải như sau:

@Entity
@Table(name = "MY_SCHEMA.MY_TABLE_A")
@Component
public class FirstClass implements Serializable {

    @Id
    @SequenceGenerator(name = "MY_SEQ", sequenceName = "MY_SCHEMA.MY_SEQ", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQ")
    @Column(name = "MY_ID")
    private Long myId;

    @OneToOne(mappedBy = "firstClass", cascade = CascadeType.ALL)
    private SecondClass secondClass;
}

@Entity
@Table(name = "MY_SCHEMA.MY_TABLE_B")
@Component
public class SecondClass implements Serializable {

    @Id
    @JoinColumn(name = "MY_ID", referencedColumnName = "MY_ID")
    @OneToOne
    private FirstClass firstClass;
}

Với tùy chọn Cascade được đặt thì bạn sẽ chỉ cần thực hiện lệnh gọi để lưu Lớp đầu tiên:Lớp thứ hai được liên kết sẽ được duy trì tự động - giả sử bạn đặt cả hai mặt của relationhsip trong mô hình trong bộ nhớ của mình, tức là

firstClass.setSecondClass(secondClass);
secondClass.setFirstClass(firstClass);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hiệu quả để cập nhật tất cả các hàng trong bảng

  2. JPA - EclipseLink - Cách thay đổi lược đồ mặc định

  3. Việc sử dụng mệnh đề RETURNING INTO có nhanh hơn một câu lệnh SELECT riêng biệt không?

  4. làm cách nào để đọc tệp cục bộ trong SQL Developer?

  5. xác định sự khác biệt so với NUMBER (5) và NUMBER (8,2) USER_TAB_COLUMNS