Rumah  >  Artikel  >  Java  >  Apakah \'Sisi Pemilikan\' dalam Perhubungan ORM Dwi Arah dan Mengapakah Ia Penting?

Apakah \'Sisi Pemilikan\' dalam Perhubungan ORM Dwi Arah dan Mengapakah Ia Penting?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-27 08:45:10395semak imbas

What is the

Memahami "Sisi Pemilikan" dalam Pemetaan ORM

Dalam pemetaan hubungan objek (ORM), hubungan dua arah antara entiti memerlukan konsep "pihak yang mempunyai" untuk memastikan tingkah laku pangkalan data yang betul.

Mentakrifkan Sisi Pemilik

Sisi pemilikan perhubungan dua hala merujuk kepada entiti yang "memiliki" kekangan kunci asing dalam pangkalan data. Ini bermakna kemas kini pada perhubungan hanya dijejaki dan diteruskan melalui pihak pemilikan.

Justifikasi untuk Pihak Pemilikan

Pangkalan data perhubungan sememangnya menyokong perhubungan satu arah melalui kunci asing. Untuk melaksanakan perhubungan dwiarah, ORM seperti Hibernate membuat jadual perkaitan tambahan atau mengekalkan jadual gabungan untuk mewakili perhubungan. Konsep sisi pemilikan memastikan bahawa hanya satu bahagian perhubungan dijejaki dan dikemas kini, menghalang potensi ketidakkonsistenan data.

Contoh Pemetaan

Satu-ke-Banyak Hubungan:

@Entity
public class Department {
    @OneToMany(mappedBy = "department")
    private List<Employee> employees;
}

@Entity
public class Employee {
    @ManyToOne
    private Department department;
}

Dalam contoh ini, Jabatan adalah pihak pemilik kerana ia memiliki kunci asing department_id dalam jadual Pekerja. Menambah atau mengalih keluar pekerja daripada medan jabatan dalam Jabatan akan membuat atau memadam rujukan kunci asing secara automatik dalam jadual Pekerja.

Perhubungan Satu-dengan-Satu:

@Entity
public class Person {
    @OneToOne(mappedBy = "person")
    private Passport passport;
}

@Entity
public class Passport {
    @OneToOne
    private Person person;
}

Dalam kes ini, pihak pemilik tidak dinyatakan dengan jelas. Hibernate menyimpulkannya berdasarkan susunan anotasi. Orang menjadi pihak pemilik kerana ia muncul dahulu dan memiliki kunci asing person_id dalam jadual Pasport.

Hubungan Ramai-dengan-Satu:

@Entity
public class Cart {
    @OneToMany(mappedBy = "cart")
    private List<Product> products;
}

@Entity
public class Product {
    @ManyToOne
    private Cart cart;
}

Serupa dengan contoh One-to-Many, Cart ialah pihak pemilik kerana ia memiliki kunci asing cart_id dalam Produk jadual.

Kesimpulan

Memahami konsep pihak pemilikan adalah penting untuk menguruskan perhubungan dua hala dengan berkesan dalam pemetaan ORM. Ia memastikan integriti data dan menghalang jadual pangkalan data dan pertindihan data yang tidak diperlukan. Dengan mengetahui bahagian perhubungan mana yang menjadi pihak pemilik, pembangun boleh mengelakkan ketidakkonsistenan dan mengekalkan perwakilan data yang konsisten dalam kedua-dua aplikasi dan pangkalan data.

Atas ialah kandungan terperinci Apakah \'Sisi Pemilikan\' dalam Perhubungan ORM Dwi Arah dan Mengapakah Ia Penting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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