EntityManager是JPA中的核心接口之一,用于实体管理,提供了对实体的持久化操作、查询、刷新等功能。
1. 创建EntityManager实例
@PersistenceContext
private EntityManager entityManager;
2. 实体管理操作
- 保存实体:
entityManager.getTransaction().begin();
Product product = new Product();
product.setName("手机");
product.setPrice(1000.0);
entityManager.persist(product);
entityManager.getTransaction().commit();
- 更新实体:
entityManager.getTransaction().begin();
Product product = entityManager.find(Product.class, 1L);
product.setPrice(1200.0);
entityManager.merge(product);
entityManager.getTransaction().commit();
- 删除实体:
entityManager.getTransaction().begin();
Product product = entityManager.find(Product.class, 1L);
entityManager.remove(product);
entityManager.getTransaction().commit();
- 查询实体:
Product product = entityManager.find(Product.class, 1L);
System.out.println("产品名称:" + product.getName() + ", 价格:" + product.getPrice());
- 执行JPQL查询:
java
Query query = entityManager.createQuery("SELECT p FROM Product p WHERE p.price > :price");
query.setParameter("price", 1000.0);
List<Product> products = query.getResultList();
3. 关闭EntityManager
entityManager.close();
entityManagerFactory.close();
通过EntityManager,可以方便地进行实体的持久化操作、查询和管理,实现对数据库的操作。在使用完EntityManager后,一定要记得关闭EntityManager以释放资源。
原文链接: https://blog.csdn.net/2401_82884096/article/details/138038537