论坛首页 Java企业应用论坛

hibernate中session的三种状态

浏览 21840 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (4) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-01-07  
呵呵!够细心的哥们!写的时候,手太快了。
0 请登录后投票
   发表时间:2011-01-09  

Student stu = new Strudnet();

stu.setCarId(“200234567”);

stu.setId(“100”);

// 打开 Session, 开启事务

session.save(stu);

stu.setCardId(“20076548”);

session.save(stu); // 无效

session.update(stu); // 无效


 

 

楼主说的“无效”应该有问题吧,只是没有意义而已

0 请登录后投票
   发表时间:2011-01-10  
dreamvalley 写道
很想了解 lz的图是用什么工具画的

用Rational Rose就能化出来,
0 请登录后投票
   发表时间:2011-01-10  
laoshifu 写道
我想问一下:hibernate的三种状态,是为了理解而提出来的概念还是,hibernate提供了对象的状态的实现?

提供了实现。
0 请登录后投票
   发表时间:2011-01-10  
dsjt 写道
1. 瞬时状态 (Transient)
由 new 命令开辟内存空间的 Java 对象,也就是平时所熟悉的普通 Java 对象。
瞬时对象特点:
(1) 不和 Session 实例关联
(2) 在数据库中没有和瞬时对象关联的记录
===================
如果直接new 一个 与数据库一条记录对应的对象,这个对象也应该是临时态吧?


对,new 出来的都是
0 请登录后投票
   发表时间:2011-03-04  
楼主 总结的很好 ,  作为新手 谢谢了
0 请登录后投票
   发表时间:2011-03-16  
韩悠悠 写道
dreamvalley 写道
很想了解 lz的图是用什么工具画的

用Rational Rose就能化出来,

是用IBM Rational Systems Developer画的。
0 请登录后投票
   发表时间:2011-03-17  
p_x1984 写道
使用的是JUDE.可以了解下。


图还是比较漂亮的,只是画图的时候,箭头有的向左有的向右,很不习惯。

随便画了点东西,点保存,报异常。。

还不是太成熟。
0 请登录后投票
   发表时间:2011-03-18  
当确定对象与数据库表对象关联关系时候,实际上我们对对象的操作,已经成为对表的操作了。

其实这种思想,体现了对象与数据库表对象的关联关系。

往往做设计对物理实体的操作都可以用OO思想来理解。

比如数据库表实体可以被做作为虚拟对象处理,当虚拟对象被处理了,

相应触发了底层实体层变化,而这部分属于高内聚,设计时候类的功能特性必须具

备实体的作用效果。


通过了三种状态,主要还是为了解决对象与数据库表对象的映射,体现了hibernate的面向对象的特性。
0 请登录后投票
   发表时间:2011-03-18  
总体来说,是初级贴.
纠证一点问题

Student stu = new Strudnet();

stu.setCarId(“1234”);

// 打开 Session1, 开启事务

session1.save(stu);

// 提交事务,关闭 Session1

stu.set(“4567”); // 对脱管对象进行更改

// 打开 Session2, 开启事务

session2.update(stu);

// 提交事务,关闭 Session2

注:即使把 session2.update(stu); 这句去掉,提交事务时仍然会执行一条 update() 语句。
你把session2.update(stu);去掉不会执行update语句,只会执行第一个session.save()生成的insert 语句

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics