Maison > Java > javaDidacticiel > le corps du texte

Plongez dans les concepts fondamentaux de Java JPA : entités, mappages et requêtes

王林
Libérer: 2024-02-19 23:30:38
avant
1140 Les gens l'ont consulté

深入探索 Java JPA 的核心概念:实体、映射和查询

Entité

L'éditeur PHP Apple vous amènera à explorer en profondeur les concepts de base de Java JPA dans cet article : entités, mappage et requêtes. À mesure que la complexité des applications modernes augmente, la compréhension de JPA devient essentielle. Cet article vous aidera à comprendre les concepts clés de JPA afin que vous puissiez mieux les appliquer à des projets réels.

@Entity
public class Person {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String name;

private int age;

// 省略 getter 和 setter 方法
}
Copier après la connexion

Carte

Le mappage est le mécanisme utilisé par JPA pour mapper les propriétés d'une classe d'entité aux champs de la base de données. JPA fournit de nombreux types de mappages, notamment :

  • Mappage un-à-un : Un attribut dans une classe d'entité correspond à une colonne dans la table de la base de données.
  • Mappage un-à-plusieurs : un attribut dans une classe d'entité correspond à plusieurs colonnes dans la table de la base de données.
  • Mappage plusieurs-à-un : plusieurs attributs d'une classe d'entité correspondent à une colonne de la table de la base de données.
  • Mappage plusieurs-à-plusieurs : plusieurs attributs dans une classe d'entité correspondent à plusieurs colonnes dans la table de base de données.

Le mappage peut également spécifier le type d'attribut, sa longueur, s'il peut être vide et d'autres informations.

@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 方法
}
Copier après la connexion

Requête

JPA fournit une variété de mécanismes de requête, notamment :

  • JPQL (Java Persistence Query Language) : un langage de requête similaire à sql qui peut être utilisé pour interroger des objets d'entité.
  • Criteria api : Une API de requête orientée objet qui peut être utilisée pour interroger des objets d'entité.
  • Requête native : utilisez SQL natif pour interroger la base de données.
// 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();
Copier après la connexion

Résumé

JPA est un framework de persistance puissant qui fournit un accès unifié aux bases de données relationnelles. En utilisant JPA, nous pouvons facilement conserver des objets Java dans la base de données et interroger des objets d'entité à l'aide de JPQL, de l'API Criteria ou de requêtes natives.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal