【发布时间】:2010-03-17 10:20:18
【问题描述】:
请描述 Web 应用程序中 Hibernate 对象(映射到数据库表)的典型生命周期。 假设您创建了一个对象的新实例并保存在数据库中。 但是在应用程序生命周期中,您将处理一个分离的对象,最后 您需要在数据库中更新它,例如在退出时。 hibernate 和 spring 看起来怎么样?
附言事务和会话可以在 servlet 转换之间存在吗?这样我们就打开了 1 个会话并在所有 servlet 中使用它而无需重新打开它?
我将尝试举一个描述性的例子。 假设,当应用程序启动时,会创建日志记录。这可以一次完成, Log log = new Log(...) 然后类似于 save(log) -- log 对应一个表 LOG。
然后,随着应用程序处理用户输入并继续运行,正在积累新数据。
在第二步之后,我们可以向日志对象添加一些东西,例如一个集合:
// 现在我们可以跟踪用户选择的内容:设置 thisUserChoice, // 所以我们可以更新持久对象,我们现在有了新数据! // log.userChoices = thisUserChoice.
这里出现了我的问题的性质。如果我们愿意,我们应该如何处理它 每当从用户那里获得新数据时更新数据库?
在关系模型中,我们可以使用行 ID,因此我们可以获取此记录并更新该行的一些其他数据。
在 Hibernate 中,我们还可以通过 id 加载对象。
但这是要走的路吗?有什么更好的吗?
【问题讨论】: