Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara mereferensikan id orang tua di id anak dengan JPA/Hibernate?

Pemetaan harus seperti di bawah ini:

@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;
}

Dengan menyetel opsi Cascade maka Anda hanya perlu melakukan panggilan untuk menyimpan FirstClass:SecondClass terkait akan dipertahankan secara otomatis - dengan asumsi Anda mengatur kedua sisi relasi dalam model dalam memori Anda yaitu

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. Pengidentifikasi terlalu panjang di Oracle

  2. Memprediksi data deret waktu di Oracle/SQL

  3. Tambal tabel riwayat di Oracle Apps (11i/R12.1/R12.2)

  4. dapatkah saya mempertahankan satu sesi Oracle dari dua klien oci?

  5. Oracle tertinggal antara komit dan pilih