Java 我如何在Spring&;中实施工作单元;JPA/Hibernate?

Java 我如何在Spring&;中实施工作单元;JPA/Hibernate?,java,hibernate,spring,jpa,domain-driven-design,Java,Hibernate,Spring,Jpa,Domain Driven Design,我正试图了解UOW的概念,以及如何在我的spring/jpa/hibernate应用程序中使用DDD实现UOW。我使我的方法具有事务性,但如何确保事务中已更改的所有实体都得到持久化?是使用级联集合还是有其他方法?Hibernate在内部实现工作单元。也就是说,事务中对持久实体所做的所有更改都将自动持久化(除非您的事务具有readOnly=true) 需要级联选项来配置瞬态或分离实体图到持久状态的转换 另请参见: 如何确保事务中已更改的所有实体都得到持久化 这是JPA EntityManag

我正试图了解UOW的概念,以及如何在我的spring/jpa/hibernate应用程序中使用DDD实现UOW。我使我的方法具有事务性,但如何确保事务中已更改的所有实体都得到持久化?是使用级联集合还是有其他方法?

Hibernate在内部实现工作单元。也就是说,事务中对持久实体所做的所有更改都将自动持久化(除非您的事务具有
readOnly=true

需要级联选项来配置瞬态或分离实体图到持久状态的转换

另请参见:

如何确保事务中已更改的所有实体都得到持久化

这是JPA EntityManager的默认行为


读取(一直到将实体数据同步到数据库

好的,因此如果我有一个应用程序服务方法“@transactional updateUser(User User)”,那么在更改用户后就不需要调用repository.store(User)?@Piotr:如果
用户
来自事务外部,可能它已分离,因此,您需要
merge()
将其合并到持久性上下文中,以使其持久化-