javax.persistence.Query常用方法的使用案例
时间: 2023-10-27 13:07:06 浏览: 144
javax.persistence.Query是Java Persistence API (JPA)中的一个接口,用于执行动态查询。常用方法包括:
1. setParameter:设置查询参数,可以使用位置参数或者命名参数。
例如,使用位置参数:
```
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.name = ?1");
query.setParameter(1, "John Doe");
List<Employee> employees = query.getResultList();
```
使用命名参数:
```
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.name = :name");
query.setParameter("name", "John Doe");
List<Employee> employees = query.getResultList();
```
2. getResultList:执行查询并返回结果列表。
```
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.salary > :salary");
query.setParameter("salary", 50000);
List<Employee> employees = query.getResultList();
```
3. getSingleResult:执行查询并返回一个对象。
```
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.id = :id");
query.setParameter("id", 1);
Employee employee = (Employee) query.getSingleResult();
```
4. setMaxResults:设置查询结果的最大数量。
```
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.department = :department");
query.setParameter("department", "IT");
query.setMaxResults(10);
List<Employee> employees = query.getResultList();
```
5. setFirstResult:设置查询结果的起始位置。
```
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.department = :department");
query.setParameter("department", "IT");
query.setFirstResult(10);
query.setMaxResults(10);
List<Employee> employees = query.getResultList();
```
以上是javax.persistence.Query的常用方法,可以根据具体的查询需求进行灵活使用。
阅读全文