2010-11-11 158 views
2

我想让我的头绕着UOW的概念,以及如何在DDD的spring/jpa/hibernate应用程序中实现它。我让我的方法是事务性的,但是我如何确保在事务中更改的所有实体都得到保持?是通过使用级联集合还是有另一种方式?如何在Spring和JPA/Hibernate中实现工作单元?

+0

您可能还需要研究样本DDD应用程序(下降到同步实体数据到数据库一路) - http://domaindrivendesign.org/node/42 – 2010-11-12 00:22:04

回答

3

Hibernate内部实现了工作单元。也就是说,对交易中的持续实体所做的所有更改都会自动保留(除非您与readOnly = true之间有交易)。需要

级联选项来配置到持续状态短暂分离实体图的转换。

参见:

+0

好了,如果我有一个应用程序服务方法“@transactional updateUser(User user)”,那么在更改用户之后不需要调用repository.store(user)? – 2010-11-11 13:27:47

+1

@Piotr:如果'User'来自事务外部,也许它是_detached_,所以你需要将它'合并()'到持久化上下文中,以使其变为_persistent_。 – axtavt 2010-11-11 13:36:44

相关问题