Editor PHP Apple akan membawa anda meneroka secara mendalam konsep teras Java JPA dalam artikel ini: entiti, pemetaan dan pertanyaan. Apabila kerumitan aplikasi moden meningkat, pemahaman tentang JPA menjadi kritikal. Artikel ini akan membantu anda memahami konsep utama dalam JPA supaya anda boleh mengaplikasikannya dengan lebih baik pada projek sebenar.
@Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private int age; // 省略 getter 和 setter 方法 }
Pemetaan ialah mekanisme yang digunakan oleh JPA untuk memetakan sifat dalam kelas entiti kepada medan dalam pangkalan data. JPA menyediakan banyak jenis pemetaan, termasuk:
Pemetaan juga boleh menentukan jenis atribut, panjang, sama ada ia dibenarkan kosong dan maklumat lain.
@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 menyediakan pelbagai mekanisme pertanyaan, termasuk:
// 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();
rangka kerja kegigihan yang kuat yang menyediakan akses bersatu kepada pangkalan data hubungan. Dengan menggunakan JPA, kami boleh dengan mudah mengekalkan objek Java ke dalam pangkalan data dan objek entiti pertanyaan menggunakan JPQL, API Kriteria atau pertanyaan asli.
Atas ialah kandungan terperinci Selami konsep teras Java JPA: entiti, pemetaan dan pertanyaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!