"新建态:新创建的实体对象,尚未拥有持久化主键,没有和一个持久化上下文关联起来。"
问题:
1,“持久化主键”是什么意思
2,“持久化上下文”是什么意思
3,这整个句子该如何理解
谢谢

解决方案 »

  1.   

    JPA就是JAVA PERSISTENCE API,即java 持久化api,它通过jdk5的注解或xml描述 
    对象-关系表的 映射关系,并将运行期的实体对象持久化到数据库中.Hibernate 从3.2
    开始,就开始兼容JPA。
    我理解的意思是:
    先说一下EntityManager的persistent(Object entity)这个方法,这个方法中有一系列的事务,当
    事务提交时,可以将实体的的相关数据写入到数据库中.
    在这个状态下,对于一个新建的实体对象,EntityManager尚未调用persistent(Object entity)这个方法,
    即这个对象的相关属性还没有在数据库中建立关联,包括拥有主键,和其他数据库中表的引用关系.
      

  2.   

    "新建态:新创建的实体对象,尚未拥有持久化主键,没有和一个持久化上下文关联起来。" 
    问题: 
    1,“持久化主键”是什么意思 
    新创建的实体尚未被托管于下述2所说的持久化上下文集合中,EntityManager无法对它进行管理。EntityManager对持久化上下文集合的实体进行管理,必然通过主键去查找实体对象,这个主键就是持久化主键2,“持久化上下文”是什么意思 
    persistence context, 指处于托管状态(attached 状态)的实体对象所构成的集合,可以理解成一个Map,EntityManager就是通过该集合管理实体对象的3,这整个句子该如何理解 
    整句话就是新建的实体没有受持久化上下文集合托管,即该实体没有放入持久化上下文集合中,所以EntityManager无法管理它