安全更新hibernate实体的最佳方法是什么?

Djo*_*vic 6 java api rest spring hibernate

首先解释一下背景.我有后端Java(Spring/Hibernate)应用程序,我通过JMS访问.我有通过Url访问的客户端应用程序(RESTfull).我有一个复杂的实体,有多个列表(大多数是懒惰的),这个实体是xy其他实体的组合.

问题:由于我通过URL访问它,因此我从URL参数在客户端应用程序中创建Java对象.我通过JMS将它发送到后端,但是在后端,我没有Hibernate对象,所以我不能简单地合并它.

我可以从客户那里得到所有的东西:

  • 通过id获取hibernate对象
  • 检查有什么不同
  • 设定新的价值观
  • 更新

并为每个组合实体重复它,但我想知道是否有更优雅和"易于维护"的方式来更新此实体的所有更改.

我希望我解释得很好.提前致谢!

San*_*eep 2

从您的描述来看,您遵循的步骤似乎是正确的。第一个(获取对象)和最后一个(更新对象)步骤是不可避免的。唯一可以优化的地方是检查/设置部分。为此,您可以编写一个通用方法,该方法接受两个对象并使用反射比较它们的更改。这样它就可以再次重复使用。

这是使用反射的示例代码。更改它以满足您的需要