Rumah > Java > javaTutorial > teks badan

Apakah \'Sisi Pemilikan\' dalam Pemetaan Perhubungan Objek (ORM)?

Linda Hamilton
Lepaskan: 2024-11-20 02:37:01
asal
779 orang telah melayarinya

What is the

Memahami "Sisi Pemilik" dalam Pemetaan ORM

Dalam Pemetaan Perhubungan Objek (ORM), konsep "pihak memiliki" merujuk kepada entiti yang menguruskan hubungan kunci asing dalam pangkalan data. Ini timbul kerana pangkalan data perhubungan tidak menyokong perhubungan dua hala, tidak seperti pengaturcaraan berorientasikan objek.

Keperluan Pihak Pemilik

Dalam ORM, pihak pemilik bertanggungjawab untuk mengekalkan integriti perhubungan dengan memiliki kunci asing yang mewakili entiti lain dalam perhubungan itu. Tanpa pihak pemilik, setiap bahagian perhubungan memerlukan kunci asing, yang membawa kepada jadual perkaitan yang tidak diperlukan dan kemungkinan pertindihan data.

Pemilikan dalam Jenis Perhubungan Berbeza

  • Satu-ke-Banyak: Bahagian pemilik biasanya mengandungi kunci asing dalam kanak-kanak meja, membenarkan berbilang kanak-kanak dikaitkan dengan ibu bapa tunggal.
  • Satu-dengan-Satu: Sama seperti satu-dengan-banyak, pihak yang memiliki memegang kunci asing, manakala yang bukan -pihak pemilik menggunakan atribut mappedBy untuk menunjukkan perhubungan.
  • Many-to-One: The bahagian pemilikan memegang kunci asing, membenarkan berbilang entiti merujuk kepada ibu bapa tunggal.

Contoh: Pemetaan Satu-ke-Banyak dengan Bahagian Pemilik

Pertimbangkan contoh Java berikut:

@Entity
public class Person {
    @Id
    private Long id;
    @OneToMany(mappedBy = "person")
    private List<IdDocument> idDocuments;
}

@Entity
public class IdDocument {
    @Id
    private Long id;
    @ManyToOne
    private Person person;
}
Salin selepas log masuk

Dalam contoh ini, Person ialah pihak pemilik, kerana ia mengandungi kunci asing yang merujuk jadual IdDocument. Atribut mappedBy dalam IdDocument menunjukkan bahawa perhubungan diuruskan oleh pihak pemilik.

Implikasi Penggunaan mappedBy

Menggunakan mappedBy pada pihak bukan pemilik mengalihkan tanggungjawab menguruskan hubungan dengan pihak yang memiliki. Ini bermakna:

  • Kemas kini kunci asing hanya perlu dilakukan pada pihak pemilik (cth., idDocument.setPerson(person)).
  • Hibernate tidak akan menjejaki perubahan pada perhubungan pada pihak bukan pemilik (cth., person.getIdDocuments().add(idDocument)).

Atas ialah kandungan terperinci Apakah \'Sisi Pemilikan\' dalam Pemetaan Perhubungan Objek (ORM)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan