与对象共事

1.hibernate对象状态

  • 瞬时(由new操作符创建,且尚未与hibernate session关联的对象被认定为瞬时。瞬时对象不会被持久化到数据库中,也不会被赋予持久性标识。使用hibernate session可以将其变成持久状态)
  • 持久(持久的实例在数据库中有对应的记录,并拥有一个持久化标识。)
  • 脱管(与持久对象关联的session被关闭后,对象就变为脱管的,对脱管对象的引用依然有效,对象可继续被修改。脱管对象如果重新关联到某个新的session上,会再次转变为持久的。)

2.使对象持久化

  • persist()使一个临时实例持久化

3.装载对象

  • 如果没有匹配的数据库记录,load()方法可能抛出无法恢复的异常。使用get()方法,它会立即访问数据库,如果没有对应的记录,会返回null。

猜你喜欢

转载自endless.iteye.com/blog/2028595