首頁  >  文章  >  Java  >  Java Persistence API(JPA)中的註解如何映射物件-關係映射?

Java Persistence API(JPA)中的註解如何映射物件-關係映射?

王林
王林原創
2024-05-06 16:33:01538瀏覽

JPA 註解映射將 Java 物件對應到關聯式資料庫表,簡化了與資料庫互動。實體註解標記持久性物件(@Entity),欄位註解指定資料庫列映射(@Column、@Lob),關聯映射註解表示實體間關係(@OneToOne、@OneToMany、@ManyToMany)。例如,Employee 和 Department 實體中,@OneToOne 表示一對一關係,@OneToMany 表示一對多關係。

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

Java Persistence API (JPA) 中的註解映射:物件-關聯映射

Java Persistence API (JPA) 提供了一種使用註解將Java 物件對應到關聯式資料庫表的方法。這種映射被稱為物件-關係映射(ORM),它簡化了與資料庫互動的過程。

實體註解

實體註解用於標記一個 Java 類,指示它是一個持久物件。常用的實體註解包括:

  • @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 之間存在一對多關係,一個部門對應多個員工。

以上是Java Persistence API(JPA)中的註解如何映射物件-關係映射?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn