如何使用JPA进行持久化操作?

使用JPA进行持久化操作的步骤如下:

  1. 创建实体类,使用@Entity注解定义实体,@Id定义主键。
@Entity
public class User {  
    @Id
    private int id;  
}
  1. 在persistence.xml中配置持久化单元,指定ORM框架的实现类(如Hibernate)。
<persistence-unit name="exampleUnit" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>  
</persistence-unit>
  1. 通过EntityManagerFactory获得EntityManager。
EntityManagerFactory emf = Persistence.createEntityManagerFactory("exampleUnit");  
EntityManager em = emf.createEntityManager(); 
  1. 开始事务。通过EntityManager获得EntityTransaction并调用begin()方法。
EntityTransaction tx = em.getTransaction();  
tx.begin();
  1. 持久化实体。调用EntityManager的persist()方法。
User user = new User();  
em.persist(user);  // 保存实体
  1. 读取实体。使用find()或createQuery()方法。
User user = em.find(User.class, 1);  // 根据主键读取

TypedQuery<User> query = em.createQuery("SELECT u FROM User u", User.class);  
List<User> users = query.getResultList();  // JPQL查询读取
  1. 更新实体。调用merge()或detach()及attach()方法。
User user = em.find(User.class, 1);
user.setName("John");
em.merge(user);  // 更新实体
  1. 删除实体。调用remove()方法。
User user = em.find(User.class, 1);
em.remove(user);  // 删除实体
  1. 提交或回滚事务。
tx.commit();  
tx.rollback();
  1. 关闭EntityManager及EntityManagerFactory。
em.close();  
emf.close();