栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

什么是数据库会话?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是数据库会话?

会话不仅仅是一个事务,它是UnitOfWork模式的一种实现。换句话说,它保持加载的对象,知道哪些对象必须持久保存,等等:

工作单元会跟踪您在业务交易过程中可能影响数据库的所有操作。完成后,它会计算出由于工作而需要更改数据库的所有工作。

为了更好地理解Session和Transaction之间的关系,您可以看一下本文。

单个Hibernate会话可能具有与单个数据库事务相同的作用域。

这是用于每个请求会话实现模式的最常见的编程模型。单个会话和单个数据库事务实现特定请求事件(例如,Web应用程序中的Http请求)的处理。切勿使用每次操作会话反模式!(极少见的例外是每次操作会话可能适用,如果您只是学习Hibernate,则不会遇到这些例外。)

另一个编程模型是长时间对话的模型,例如,一个实现多步对话框(例如向导对话框)的应用程序,以便在几个请求/响应周期中与用户进行交互。一种实现此方法的方法是每个请求的对象分离会话模式。一旦持久性对象被认为在用户思考期间已分离,并且在修改它们后必须将它们重新附加到新的会话。

但是,建议使用“每次会话会话”模式。在这种情况下,单个会话的范围比单个数据库事务更大,并且可能跨越多个数据库事务。每个请求事件都在单个数据库事务中处理,但是会话的刷新将被延迟到会话结束和最后一个数据库事务为止,以使会话成为原子。在用户思考期间,会话保持断开状态,没有打开的数据库连接。Hibernate的自动乐观并发控制(带有版本控制)用于提供会话隔离。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568898.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号