JPA 查询是 Java 持久化 API(Java Persistence API)的一部分,它提供了一种简单的方法来查询数据库中的数据。JPA 查询使用 Java Persistence Query Language (JPQL) 来定义和执行查询。JPQL 是一种面向对象的 SQL,它允许你使用对象和属性而不是表和字段来构建查询。
JPA 提供了两种方式来执行 JPQL 查询:静态和动态。静态 JPQL 是在代码中写死的 JPQL 语句,而动态 JPQL 则是在运行时动态生成的 JPQL 语句。
// 静态 JPQL 例子 String jpql = "SELECT e FROM Employee e WHERE e.name = :name"; Query query = entityManager.createQuery(jpql); query.setParameter("name", "John"); List<Employee> employees = query.getResultList();
// 动态 JPQL 例子 CriteriaBuilder builder = entityManager.getCriteriaBuilder(); CriteriaQuery<Employee> criteriaQuery = builder.createQuery(Employee.class); Root<Employee> root = criteriaQuery.from(Employee.class); criteriaQuery.select(root).where(builder.equal(root.get("name"), "John")); List<Employee> employees = entityManager.createQuery(criteriaQuery).getResultList();
JPA教程 -JPA一对多非类型化映射示例以下代码表示非类型的java.util.Map的目标实体类。@OneToMany(targetEntity=Employee.class,...
JPA教程 -JPA持久关系级联示例以下代码显示级联持久操作。例子下面的代码来自PersonDaoImpl.java。package cn..common;import ja...
JPA教程 - JPA 类型化查询示例以下代码创建了一个类型化的查询。TypedQuery可以有通用参数。TypedQueryProfessor query = em.cre...
JPA教程 - JPA查询GroupBy Having例子以下代码显示了如何在JPQL中使用GROUP BY和HAVING子句。List l = em.createQuery(...