1. 首页
  2. 软件开发
  3. SpringData——用于实体管理,提供了对实体的持久化操作的EntityManager的用法。

SpringData——用于实体管理,提供了对实体的持久化操作的EntityManager的用法。

  • 发布于 2024-08-17
  • 0 次阅读

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