2

我了解如何配置我的模型以获取渴望或懒惰。但是我应该如何告诉我的应用程序这次急切地获取一个集合呢?

换句话说。我有一个带有 get 方法的 DAO。EntityDao.getEntity(entityId) 该实体有一个Children默认延迟加载的集合。

可以说 dao 方法是事务性的。

大多数时候我只需要没有孩子的实体,但每隔一段时间我就需要急切地去取孩子。现在我该怎么办?

如果我理解这一切都是正确的,那么会话只存在于事务中。所以在事务结束后(在这种情况下是在 dao 方法之后),就不能再进行延迟获取了。那么我可以将我的交易放在我的代码中,还是急切地在交易中获取我的对象?

那么我将如何在我的交易中进行这种急切的获取呢?

我有哪些选择?

4

2 回答 2

1

您应该使用休眠参考文档的获取配置文件功能以获取更多详细信息和示例

于 2012-10-24T11:19:12.017 回答
-1

您不应该在 dao 中进行交易。交易应该跨越整个业务运作,这就是有交易的意义。

您还破坏了延迟加载。它对调用者应该是透明的,当会话仍然可用并且子级在访问它们时被加载时就是这种情况。关闭会话后,不再可能进行延迟加载,并且应该访问实体。

于 2012-10-24T11:33:48.287 回答