Rumah  >  Artikel  >  Java  >  Bagaimanakah anotasi dalam Java Persistence API (JPA) memetakan kepada pemetaan hubungan objek?

Bagaimanakah anotasi dalam Java Persistence API (JPA) memetakan kepada pemetaan hubungan objek?

王林
王林asal
2024-05-06 16:33:01500semak imbas

Pemetaan anotasi JPA memetakan objek Java ke jadual pangkalan data hubungan, memudahkan interaksi dengan pangkalan data. Anotasi entiti menandakan objek berterusan (@Entity), anotasi medan menentukan pemetaan lajur pangkalan data (@Column, @Lob) dan anotasi pemetaan perhubungan mewakili perhubungan antara entiti (@OneToOne, @OneToMany, @ManyToMany). Contohnya, dalam entiti Pekerja dan Jabatan, @OneToOne mewakili hubungan satu dengan satu dan @OneToMany mewakili hubungan satu dengan ramai.

Java Persistence API(JPA)中的注解如何映射对象-关系映射?

Pemetaan Anotasi dalam Java Persistence API (JPA): Object-Relational Mapping

Java Persistence API (JPA) menyediakan cara untuk memetakan objek Java ke jadual pangkalan data hubungan menggunakan anotasi. Pemetaan ini dipanggil pemetaan hubungan objek (ORM), dan ia memudahkan proses berinteraksi dengan pangkalan data.

Anotasi entiti

Anotasi entiti digunakan untuk menandakan kelas Java untuk menunjukkan bahawa ia adalah objek berterusan. Anotasi entiti yang biasa digunakan termasuk:

  • @Entiti: Menunjukkan bahawa kelas ialah entiti JPA.
  • @Entity:指示一个类是 JPA 实体。
  • @Id:表示一个持久字段是实体的主键。

字段注解

字段注解用于指定字段的数据库列映射。常用的字段注解包括:

  • @Column:指定字段的数据库列名、类型和其他属性。
  • @Lob:指示字段是一个大对象(LOB),如文本或图像。

关系映射注解

关系映射注解用于表示两个实体之间的关系。常用的关系映射注解包括:

  • @OneToOne:一对一关系。
  • @OneToMany:一对多关系。
  • @ManyToMany:多对多关系。

实战案例

假设我们有一个 Employee 实体和一个 Department 实体,它们具有以下关系:每个部门可以有多个员工,每个员工只能属于一个部门。

@Entity
public class Employee {
    @Id
    private Long id;
    private String name;

    @OneToOne
    private Department department;
}

@Entity
public class Department {
    @Id
    private Long id;
    private String name;
    
    @OneToMany(mappedBy = "department")
    private Set<Employee> employees;
}

在前面的代码中,@OneToOne 注解指示 EmployeeDepartment 之间存在一对一关系,一个员工对应一个部门。 @OneToMany 注解指示 DepartmentEmployee@Id: Menunjukkan bahawa medan berterusan ialah kunci utama entiti.

🎜Anotasi medan🎜🎜🎜Anotasi medan digunakan untuk menentukan pemetaan lajur pangkalan data medan. Anotasi medan yang biasa digunakan termasuk: 🎜🎜🎜@Column: nyatakan nama lajur pangkalan data, jenis dan atribut medan yang lain. 🎜@Lob: Menunjukkan bahawa medan ialah objek besar (LOB), seperti teks atau imej. 🎜🎜Anotasi pemetaan hubungan🎜🎜🎜Anotasi pemetaan hubungan digunakan untuk mewakili perhubungan antara dua entiti. Anotasi pemetaan perhubungan yang biasa digunakan termasuk: 🎜🎜🎜@OneToOne: perhubungan satu dengan satu. 🎜@OneToMany: Hubungan satu dengan ramai. 🎜@ManyToMany: Hubungan ramai-ke-banyak. 🎜🎜Kes praktikal🎜🎜🎜Andaikan kita mempunyai entiti Pekerja dan entiti Jabatan, yang mempunyai hubungan berikut: Setiap jabatan boleh mempunyai Berbilang pekerja, setiap pekerja hanya boleh tergolong dalam satu jabatan. 🎜rrreee🎜Dalam kod sebelumnya, anotasi @OneToOne menunjukkan bahawa terdapat hubungan satu dengan satu antara Pekerja dan Jabatan, dan seorang pekerja sepadan dengan satu jabatan. Anotasi @OneToMany menunjukkan bahawa terdapat hubungan satu-ke-banyak antara Jabatan dan Pekerja, dengan satu jabatan sepadan dengan berbilang pekerja. 🎜

Atas ialah kandungan terperinci Bagaimanakah anotasi dalam Java Persistence API (JPA) memetakan kepada pemetaan hubungan objek?. 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