使用Spring Web Service将Hibernate映射的程序拆分为前端和后端

时间:2012-06-17 12:24:46

标签: java web-services spring hibernate soap

我打算将我的系统拆分为前端和后端。目前我的应用程序直接与数据库通信,但我想创建一个Spring Web服务来代替它。我的问题在于使用Hibernate将我的对象映射到数据库表。

我需要我的前端程序与数据库保持最新的交互。这再次意味着我必须编写许多Web服务端点来处理所有查询和更新。这再次使得Hibernate映射毫无意义,因为我没有获得任何东西。

我的问题是:是否有一种经过验证的合理方法(通过SOAP,如果可能)将hibernate映射对象传递给前端,然后提交对这些对象进行的更改?

2 个答案:

答案 0 :(得分:2)

简而言之:不。

在您处理所有问题之后,在您考虑的不同应用程序中分离和重新附加hibernate管理的对象将导致您想要避免的各种问题,例如并发和锁定问题。 LazyLoadingExceptions。这将是b ***的痛苦。

您前进的道路最终将导致一种架构,该架构增加了额外的间接层,Data Objects在业务服务和这些业务服务的客户端之间传输。只有您的业务服务才能直接与数据库通信。显然这很耗时,如果可能的话必须避免。这就是我要求你解释你想要解决的问题的原因。

答案 1 :(得分:1)

您可以通过SOAP或其他序列化机制传递休眠实体,但是您应该非常小心延迟加载,集合加载和从会话中分离实体 - 否则您可能最终将所有数据库发送到只需要一个对象或休眠的地方在另一方不可用的代理。