与 DTO 一起使用 Hibernate 的设计问题。
在我们的一个实体上,我们使用乐观锁定和@Version 注释。当前的问题是,在合并后,版本号直到刷新后才更新。这意味着它发生在我们的 DTO 转换过程之外。我们最终使用旧版本号将转换后的 DTO 发送回客户端。对此的后续操作现在将导致乐观锁失败,因为 Hibernate 检查不同的数据库版本号。
我已经设法通过一些涉及使用 ThreadLocal 容器和事件侦听器的 hack 来解决这个问题,但我想知道当您使用业务/客户端 DTO 时,是否存在关于如何处理系统刷新后更新的属性的公认最佳实践。
任何想法或想法表示赞赏,谢谢,Shands