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查询检索多对一映射示例以下查询从多对一映射检索实体。List l = em.createQuery(SELECT d.employees FROM Departme...
JPA教程 -JPA查询连接三个实体示例以下JPQL显示如何连接三个实体。List l = em.createQuery( SELECT DISTINCT p FROM Department...
JPA教程 -JPA查询选择两个属性示例从别名开始,我们可以使用点(.)运算符浏览实体关系。以下JPQL从一个实体中选择两个属性。Lis...
JPA教程 -JPA查询AVG连接GroupBy示例以下代码显示如何在JPQL中使用连接子句使用AVG。List l = em.createQuery( SELECT d.name, A...
JPA教程 - JPA 查询实体参数值示例以下代码显示如何将实体值作为JPQL的参数传递。List l = em.createQuery(SELECT e+FROM Profes...