持久化对象在 Hibernate 架构中意味着什么?

新手上路,请多包涵

Hibernate 是一个持久性框架,用于将数据从 Java 环境持久化到数据库。

我很困惑.. 如果我们将一个对象持久化到数据库,那么为什么 Hibernate Architecture 将持久化对象描述在下图中的 Application 和 Hibernate 中间?

一只忙碌的猫

(来源: viralpatel.net

原文由 Mohammad Asgari 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 476
2 个回答

我会让它更清楚。持久对象是您创建的代表数据库表中行的 POJO 类的实例。根据 hibernate-doc ,表示数据库中表的 POJO 类实例经历了 3 种状态,其中持久性是其中之一。

当 POJO 实例在会话范围内时,它被认为是持久的,即休眠检测对该对象所做的任何更改,并在我们关闭或刷新会话时将其与数据库同步。

关于 hibernate.properties 和 XML 映射 @Ken Chan 是对的。浏览 hibernate-doc 以获得更多关于 hibernate 对象的插图。

原文由 DarkHorse 发布,翻译遵循 CC BY-SA 3.0 许可协议

首先你需要了解Hibernate对象的三种状态即Transient、Persistent、Detached。

瞬态:如果一个对象刚刚使用 new 运算符实例化并且在数据库中没有对它的引用,即它不代表数据库中的任何行,则该对象处于瞬态。

持久状态:如果一个对象在数据库中有一些引用,即它代表数据库中的一些行并且标识符值被分配给它,则该对象处于持久状态。如果对对象进行了任何更改,那么 hibernate 将检测到这些更改,并且影响将存在于数据库中,这就是名称 Persistent 的原因。这些更改是在会话关闭时进行的。持久对象在会话范围内。

分离状态:已经持久化,不再处于会话范围内的对象。休眠将不会检测对此对象所做的任何更改。它可以再次连接到会话以使其再次持久化。

原文由 Parteek 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题