使用JPA进行持久化操作的步骤如下:
创建实体类,使用@Entity注解定义实体,@Id定义主键。
@Entity
public class User {
@Id
private int id;
}在persistence.xml中配置持久化单元,指定ORM框架的实现类(如Hibernate)。
<persistence-unit name="exampleUnit" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> </persistence-unit>
通过EntityManagerFactory获得EntityManager。
EntityManagerFactory emf = Persistence.createEntityManagerFactory("exampleUnit");
EntityManager em = emf.createEntityManager();开始事务。通过EntityManager获得EntityTransaction并调用begin()方法。
EntityTransaction tx = em.getTransaction(); tx.begin();
持久化实体。调用EntityManager的persist()方法。
User user = new User(); em.persist(user); // 保存实体
读取实体。使用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查询读取更新实体。调用merge()或detach()及attach()方法。
User user = em.find(User.class, 1);
user.setName("John");
em.merge(user); // 更新实体删除实体。调用remove()方法。
User user = em.find(User.class, 1); em.remove(user); // 删除实体
提交或回滚事务。
tx.commit(); tx.rollback();
关闭EntityManager及EntityManagerFactory。
em.close(); emf.close();