gpt4 book ai didi

NHibernate 在断开连接的情况下

转载 作者:行者123 更新时间:2023-12-04 02:08:53 24 4
gpt4 key购买 nike

对于断开连接的场景,您对最新版本的 NHibernate (2.0.1 GA) 有何体验?

断开连接的场景是我从 NHibernate 获取一些对象图,断开 session (和数据库连接),对对象图进行一些更改(删除集合,添加实体,更新实体),然后重新连接并保存....

最佳答案

我们在客户端-服务器架构中尝试了这一点。现在我们正在转向 DTO(数据传输对象)。这意味着,分离的实体不再直接发送到客户端,而是专门的对象。

朝着这个方向发展的主要原因不是NHibernate,它实际上是将实体发送到客户端所需的序列化。虽然您可以在附加到 session 时使用延迟加载(并且您会!),但您需要从数据库中获取所有引用以对其进行序列化。

我们有很多 Guid 而不是引用,还有很多被映射但没有序列化的属性......这变得很痛苦。因此,将您真正想要序列化的内容复制到其自己的结构中要容易得多。

除此之外 - 独立工作也可以很好地工作。

  • 小心延迟加载,这会导致在分离实例上访问未加载的对象时抛出异常。
  • 小心并发,实体在分离时发生变化的可能性很高。
  • 如果您需要某种安全性,或者即使您希望服务器允许进行一些数据更改,请务必小心。分离的对象可能会以任何状态返回。
  • 关于NHibernate 在断开连接的情况下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/966661/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com