sgg_7_session.update()

一、session的update()方法  

  session的update()方法使一个游离对象转变为持久化对象,并且计划执行一条update语句。
  若希望session仅当修改了对象属性事才执行update()语句,可以把映射文件中<class>元素的select-before-update设为true,该属性的默认值为false
  当update()方法关联一个游离对象时,如果在session的缓存中已经存在相同OID的持久化对象,会抛出异常
  当update()方法关联一个游离对象时,如果在数据库中不存在相应的记录,也会抛出异常。
  若更新一个持久化对象,不需要显示的调用update方法,因为在调用Transaction的commit()方法时,会先执行session的flush()方法。
  更新一个游离对象,需要显式的调用session的update方法,可以把一个游离对象变为持久化对象。

二、session的saveOrUpadate()方法
  session的saveOrUpate()方法同时包含了sava()与update()方法的功能

  sgg_7_session.update()


  判定对象为临时对象的标准
    java对象的OID为null
    映射文件中<id>设置了unsaved-value属性,并且java对象的OID取值与这个unsaved-value属性值匹配。

三、了解session的merge()方法

  sgg_7_session.update()

四、session的delete()方法

   可以通过设置hibernate.cfg.xml配置文件hibernate.use_indentifier_rollback为true,使删除对象后,把其OID置为null。 

五、session的evict()
  从session缓存中把指定的持久化对象移除。

六、在hibernate中配置c3p0数据源  

  6.1导入jar包
    hibernate-release-4.2.4.Final\lib\optional\c3p0\*.jar

上一篇:干货|吴恩达教你如何应用机器学习的技巧~


下一篇:sgg_3_hibernate详解