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

发布于:2025-12-01 23:5353人浏览
使用JPA进行持久化操作的步骤如下:创建实体类,使用@Entity注解定义实体,@Id定义主键。

使用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();


相关文章
    最新文章
    热门标签