顾名思义,实体管理器EntityManager是负责管理Entity的对象。对Entity的操作包括添加、删除、修改和查询,都是通过实体管理器来实现的。
一、 依赖注入EntityManager
在EJB容器 中,EntityManager的获得可以通过标注,使用依赖注入来创建EntityManager实例,代码如下所示。
@PersistenceContext(unitName = "demo")
private EntityManager entityManager;
@PersistenceContex 表示标注的属性entityManager是一个实体管理器EntityManager对象,EJB容器会根据unitName的值来初始化 EntityManager。其中unitName的值为上文中在persistence.xml中配置的<persistence- unit>中name的值。
虽然这里没有看到new实体管理器 EntityManager的代码,但一旦将该类放置到EJB容器中,容器将会自动依赖注入,初始化该实例。
二、添加,删除,修改,查询
添加:entityManager.persist(实体名)
User users=new User();
users.setName("riacool");
users.setPassword("123456");
entityManger.persist(users);
根据主键查询:entityManager.find(实体类名.class,主键值)
user me=entityManager.find(User.class,integer(2));
删除(要先查询):entityManager.remove(me);
更新(要先查询):entityManager.merge(me);
查询:entityManager.creatQuery(me);