EntityManager的所有用法
时间: 2024-01-22 17:19:22 浏览: 91
EntityManager是Java Persistence API(JPA)中的一个接口,用于管理实体对象的生命周期,包括创建、更新、删除和查询等操作。下面是EntityManager的常见用法:
1. 获取EntityManager对象
在使用EntityManager之前,需要首先获取EntityManager对象。可以通过EntityManagerFactory来获取EntityManager对象。
```java
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("persistence_unit_name");
EntityManager entityManager = entityManagerFactory.createEntityManager();
```
2. 创建实体对象
使用EntityManager可以创建新的实体对象。可以通过调用EntityManager的persist()方法来创建一个实体对象,将它保存到数据库中。
```java
Employee employee = new Employee();
employee.setName("John");
employee.setAge(30);
entityManager.getTransaction().begin();
entityManager.persist(employee);
entityManager.getTransaction().commit();
```
3. 更新实体对象
通过更新实体对象,可以将实体对象的属性值更新到数据库中。可以通过EntityManager的merge()方法来更新实体对象。
```java
Employee employee = entityManager.find(Employee.class, 1);
employee.setAge(35);
entityManager.getTransaction().begin();
entityManager.merge(employee);
entityManager.getTransaction().commit();
```
4. 删除实体对象
可以通过EntityManager的remove()方法从数据库中删除实体对象。
```java
Employee employee = entityManager.find(Employee.class, 1);
entityManager.getTransaction().begin();
entityManager.remove(employee);
entityManager.getTransaction().commit();
```
5. 查询实体对象
可以使用EntityManager的createQuery()方法来创建查询。查询结果可以使用getResultList()或getSingleResult()方法来获取。
```java
Query query = entityManager.createQuery("SELECT e FROM Employee e WHERE e.age > :age");
query.setParameter("age", 30);
List<Employee> employees = query.getResultList();
```
6. 执行事务
使用EntityManager可以执行事务。可以通过调用EntityManager的getTransaction()方法来获取Transaction对象。
```java
entityManager.getTransaction().begin();
// 一些操作
entityManager.getTransaction().commit();
```
以上是EntityManager的常见用法,还可以使用它来管理实体对象之间的关系等操作。
阅读全文