你在POJO中编写Hibernate代码吗?

时间:2015-02-13 16:33:45

标签: java hibernate jsp servlets pojo

我们有一个使用JSPServletHibernate的网络应用程序。我们得到的设计模式是MVC,意思是,

JSP -> Servlet -> Beans (POJO)

现在的问题。一旦开发人员在POJO中插入了hibernate查询,hibernate会话创建等。现在在这些POJO中,有getAllEmployees()getAllAgents()等方法。这使我们很难更改数据库表(我们使用MySQL Workbench手动处理数据库)并使用自动重新生成POJO的工具,因为这些方法将丢失。

现在有2个参数。一个是维护hibernate查询,POJO中的会话是一个很好的工作,因为它看起来像纯粹的MVC。另一个参数是将hibernatre代码移动到Servlets并像bean一样调用POJO,只是为了设置和获取值。

我们以前没有在Hibernate工作过。从2以上开始,在hibernate中编写hibermnate代码的首选地点是什么?

最后,请注意我们对Spring或其他框架不感兴趣,我们使用纯JSP和Servlet与Hibernate

1 个答案:

答案 0 :(得分:1)

或许,您需要的是另一层抽象。由于你的pojos在新的迁移后重新创建,你不应该在其中插入代码(我不同意这种方法,但这只是我的意见:-))

JSP -> Servlet -> NewLayer -> POJO

我不知道你在哪里制定业务规则,但在这种情况下,它将出现在" NewLayer"它将由一个" hibrid" servicedao的图层。

我建议这些读数重新考虑您的实际架构:

https://softwareengineering.stackexchange.com/questions/220909/service-layer-vs-dao-why-both

Responsibilities and use of Service and DAO Layers