问个ssh线程安全的问题

结贴是美德 2012-02-25 06:53:10
我在想,如果spring向业务层注入DAO Bean时每次都是新new一个,那在DAO类中使用hibernate session时是不是就不用考虑并发的问题了?一律sessionFactory.openSession()就行了吧?实际工作中都是怎么处理的呢??

spring有个声明式的事务管理功能,这个功能是不是就是为了解决我考虑的这个问题的?何时会用到这个功能呢?难道在DAO Bean是单例模式的情况下用??。。纠结好久了,求大牛们帮助~
...全文
240 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellobbboy 2012-02-27
  • 打赏
  • 举报
回复
ldh911是大侠
MiceRice 2012-02-27
  • 打赏
  • 举报
回复
客气,其实我发现你的大多数问题还是越来越有深度的。是看得到显著进步的。

而且你也愿意帮助别人回答问题。

所以总的来说就是互相帮助,我也有很多不懂的地方;而真正的大牛其实是没有太多时间泡论坛的。
结贴是美德 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ldh911 的回复:]

以目的为导向而已。
你的原始目标并不是必须以“XXOO”来实现的话要怎么样?
而是如果我用“XXOO”来实现是不是很好?
[/Quote]

感谢大侠无私奉献啊 我还是很菜。。我继续努力。。
MiceRice 2012-02-27
  • 打赏
  • 举报
回复
以目的为导向而已。
你的原始目标并不是必须以“XXOO”来实现的话要怎么样?
而是如果我用“XXOO”来实现是不是很好?
结贴是美德 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ldh911 的回复:]

是的,强烈推荐以这个为基础。
[/Quote]

我发现每次发帖,聊着聊着就换题目了。。。。。好几次了~~~~~
MiceRice 2012-02-27
  • 打赏
  • 举报
回复
是的,强烈推荐以这个为基础。
结贴是美德 2012-02-27
  • 打赏
  • 举报
回复
我得去看看HibernateDAOSupport。。貌似是模板方法这个设计模式
want1615 2012-02-26
  • 打赏
  • 举报
回复
sessionFactory本身就是利用单例模式吧,hibernate映射数据的时候CRUD都是封装好的。
MiceRice 2012-02-26
  • 打赏
  • 举报
回复
不需考虑,每次open都是新连接,注意关闭即可。

声明事务主要用于复杂的多表更新操作,常归都不需要。
gavinbill 2012-02-26
  • 打赏
  • 举报
回复
不管你用啥都要考虑并发的问题
你想用程序去解决高并发的问题那简直就是做无用功,只能靠硬件去添补缺陷。
jwh426 2012-02-26
  • 打赏
  • 举报
回复
想太多了把......
结贴是美德 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ldh911 的回复:]

你说的这种情况,两个手段来解决:
1、依赖于Sping提供的事务管理(基于拦截),这个可以Google下,挺方便的;可以在一个Service类中操作多个DAO,使用同一个上下文;
2、自己管理Session。

如果关联关系不是复杂到吐血的话,推荐尽量用前者。
[/Quote]

话说,大侠,如果使用spring的事务管理的话,我的DAO类是不是都要继承spring提供那个HibernateDAOSupport?
不然我想不出spring是怎么实现事务的。。。
MiceRice 2012-02-26
  • 打赏
  • 举报
回复
你说的这种情况,两个手段来解决:
1、依赖于Sping提供的事务管理(基于拦截),这个可以Google下,挺方便的;可以在一个Service类中操作多个DAO,使用同一个上下文;
2、自己管理Session。

如果关联关系不是复杂到吐血的话,推荐尽量用前者。
结贴是美德 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ldh911 的回复:]

不需考虑,每次open都是新连接,注意关闭即可。

声明事务主要用于复杂的多表更新操作,常归都不需要。
[/Quote]

恩 但是我这项目有这样的一个情况:

DAO中的方法有互相调用的情况,而且还是一个事务,这样的话貌似必须使用同一个session,如果每个DAO方法都新开session的话就没办法工作了。。
  • 打赏
  • 举报
回复
一般如果用 spring 托管hibernate 的话dao类都是继承 hibernateDaosupport类....基本都不用考虑打不打开session啊.....

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧