关于hibernate的session一个小疑问?

wts173 2007-01-15 02:54:16
1.如果flushmode不设为立即刷新的话,修改记录后是不会立即跟数据库同步的,同一个session中select的时候(我理解)会将以前更新过的记录更新到数据库

但是不同的session之间呢??他们怎么保持一致呢??

2.还有就是jsp的session是属于进程还是线程的??如果增加一个jsp的session,那么hibernate会不会也要相应的增加一个session呢?直观感觉应该是没有,不过还是知道原理,有没有比较完整的解释??


谢谢
...全文
507 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wts173 2007-04-14
  • 打赏
  • 举报
回复
谢谢haitingr(haitingr)!!!
haitingr 2007-04-08
  • 打赏
  • 举报
回复
Hibernate的session由sessionFactory产生,session就是一个数据库回话,这个回话会由datasource提供一个connection,由于每一个pojo到表的vmapping,sessionfactory都会为之维护一个mapping,这个mapping是线程同步的,所以多个session同时操作一个表,甚至一条记录都会保证数据库的完整性,这就是说为什么session是线程安全的,但是多个sessionfactory同时对数据库操作就是需要一种jta来保证了,因为sessionfactory是线程不安全的,主要原因就维护了两个对数据的操作集团

servlet的session不属于进程,更不属于线程,它代表了一个远程回话,所以它和hibernate的session没有任何关系,不要因为spring提供了一个openview就这样认为,servlet中的session是为无链接的web服务提供了一种“虚拟”的有链接,虽然我还没有看到这部分源代码,我觉得里面可能是一种softreference实现的map
wts173 2007-01-18
  • 打赏
  • 举报
回复
怎么会没意义呢?

多个系统操作统一数据库呢
wbj00 2007-01-17
  • 打赏
  • 举报
回复
嗯 ,我也觉得那样没意义,便D 哈先
nanfengbai 2007-01-17
  • 打赏
  • 举报
回复
没有试过不同的session之间怎么保持一致
在不同的session之间作有什么意义么

67,515

社区成员

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

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