php小編蘋果在本文中將帶您深入探索Java JPA的核心概念:實體、映射和查詢。隨著現代應用程式的複雜性增加,對JPA的理解變得至關重要。本文將幫助您理解JPA中的關鍵概念,以便更好地應用於實際專案。
@Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; // 省略 getter 和 setter 方法 }
映射是 JPA 用於將實體類別中的屬性與資料庫中的欄位相對應的機制。 JPA 提供了許多類型的映射,包括:
映射也可以指定屬性的類型、長度、是否允許為空等資訊。
@Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 50, nullable = false) private String name; @Column(nullable = false) private int age; // 省略 getter 和 setter 方法 }
JPA 提供了多種查詢機制,包括:
// JPQL 查询 List<Person> persons = entityManager.createQuery("SELECT p FROM Person p WHERE p.age > 18", Person.class) .getResultList(); // Criteria API 查询 CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Person> cq = cb.createQuery(Person.class); Root<Person> root = cq.from(Person.class); cq.select(root).where(cb.gt(root.get("age"), 18)); List<Person> persons = entityManager.createQuery(cq).getResultList(); // 本机查询 List<Person> persons = entityManager.createNativeQuery("SELECT * FROM Person WHERE age > 18", Person.class) .getResultList();
JPA 是一個強大的持久化框架,它提供了對關聯式資料庫的統一存取。透過使用 JPA,我們可以輕鬆地將 Java 物件持久化到資料庫中,並使用 JPQL、Criteria API 或本機查詢來查詢實體物件。
以上是深入探索 Java JPA 的核心概念:實體、映射和查詢的詳細內容。更多資訊請關注PHP中文網其他相關文章!