Spring 复制Entity Bean的方式
Spring way to copy Entity Bean
我试着解决 https://jira.spring.io/browse/DATAREST-373 。为此,我需要复制 "old" 实体,以便在 Spring Data Rest 和 Jackson 将实体修改为 "new" 实体之前有一个 "snapshot"。
我找到了两种方法:
- 从事务中分离实体,但是我有两个
findOne
数据库请求,这不太好。 (编辑:没有选项,因为延迟初始化)
- 用
BeanUtils.copyProperties
复制 bean,然后例如私有字段 id
不会被复制
但是,有没有 Spring 方法来做到这一点?
不,没有"Spring way"可以做到这一点。
如果 BeanUtils 不足以满足您的目的,您可能需要查看 Dozer, which does support copying private fields according to this FAQ entry。
我试着解决 https://jira.spring.io/browse/DATAREST-373 。为此,我需要复制 "old" 实体,以便在 Spring Data Rest 和 Jackson 将实体修改为 "new" 实体之前有一个 "snapshot"。
我找到了两种方法:
- 从事务中分离实体,但是我有两个
findOne
数据库请求,这不太好。 (编辑:没有选项,因为延迟初始化) - 用
BeanUtils.copyProperties
复制 bean,然后例如私有字段id
不会被复制
但是,有没有 Spring 方法来做到这一点?
不,没有"Spring way"可以做到这一点。
如果 BeanUtils 不足以满足您的目的,您可能需要查看 Dozer, which does support copying private fields according to this FAQ entry。