Heim >Java >javaLernprogramm >Tauchen Sie ein in die Kernkonzepte von Java JPA: Entitäten, Zuordnungen und Abfragen

Tauchen Sie ein in die Kernkonzepte von Java JPA: Entitäten, Zuordnungen und Abfragen

王林
王林nach vorne
2024-02-19 23:30:381189Durchsuche

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

Entität

PHP-Editor Apple führt Sie in diesem Artikel eingehend in die Kernkonzepte von Java JPA ein: Entitäten, Zuordnung und Abfragen. Da die Komplexität moderner Anwendungen zunimmt, wird ein Verständnis von JPA von entscheidender Bedeutung. Dieser Artikel hilft Ihnen, die Schlüsselkonzepte in JPA zu verstehen, damit Sie sie besser auf tatsächliche Projekte anwenden können.

@Entity
public class Person {

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

private String name;

private int age;

// 省略 getter 和 setter 方法
}

Karte

Mapping ist der von JPA verwendete Mechanismus, um Eigenschaften in einer Entitätsklasse Feldern in der Datenbank zuzuordnen. JPA bietet viele Arten von Zuordnungen, darunter:

  • Eins-zu-eins-Zuordnung: Ein Attribut in einer Entitätsklasse entspricht einer Spalte in der Datenbanktabelle.
  • Eins-zu-viele-Zuordnung: Ein Attribut in einer Entitätsklasse entspricht mehreren Spalten in der Datenbanktabelle.
  • Many-to-One-Zuordnung: Mehrere Attribute in einer Entitätsklasse entsprechen einer Spalte in der Datenbanktabelle.
  • Many-to-many-Zuordnung: Mehrere Attribute in einer Entitätsklasse entsprechen mehreren Spalten in der Datenbanktabelle.

Mapping kann auch den Attributtyp, die Länge, ob es leer sein darf, und andere Informationen angeben.

@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 方法
}

Abfrage

JPA bietet eine Vielzahl von Abfragemechanismen, darunter:

  • JPQL (Java Persistence Query Language): Eine Abfragesprache ähnlich SQL, die zum Abfragen von Entitätsobjekten verwendet werden kann.
  • Kriterien-API: Eine objektorientierte Abfrage-API, die zum Abfragen von Entitätsobjekten verwendet werden kann. Native Abfrage: Verwenden Sie natives SQL, um die Datenbank abzufragen.
  • // 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();
  • Zusammenfassung

JPA ist ein leistungsstarkes Persistenz-Framework, das einen einheitlichen Zugriff auf relationale Datenbanken ermöglicht. Durch die Verwendung von JPA können wir Java-Objekte problemlos in der Datenbank speichern und Entitätsobjekte mithilfe von JPQL, Criteria API oder nativen Abfragen abfragen.

Das obige ist der detaillierte Inhalt vonTauchen Sie ein in die Kernkonzepte von Java JPA: Entitäten, Zuordnungen und Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen