Hibernate 在数据库中保留liferay的业务逻辑(存储过程)或不保留

Hibernate 在数据库中保留liferay的业务逻辑(存储过程)或不保留,hibernate,liferay,portlet,liferay-6,Hibernate,Liferay,Portlet,Liferay 6,我们的应用程序有非常大的数据,我们希望执行业务逻辑(聚合) 在数据库层(存储过程) Liferay更喜欢在业务层中使用业务逻辑(具有多层次体系结构) 如果我们想将存储过程用于业务逻辑,会产生什么影响 由于Liferay也使用Hibernate,在这种情况下,如果Hibernate没有增加太多价值,有没有办法绕过Hibernate?Liferay在应用程序代码中执行其业务逻辑并不意味着您必须这样做,应用程序的体系结构完全取决于您 (这假定您的应用程序数据不引用Liferay的数据)Liferay在

我们的应用程序有非常大的数据,我们希望执行业务逻辑(聚合) 在数据库层(存储过程)

Liferay更喜欢在业务层中使用业务逻辑(具有多层次体系结构)

如果我们想将存储过程用于业务逻辑,会产生什么影响


由于Liferay也使用Hibernate,在这种情况下,如果Hibernate没有增加太多价值,有没有办法绕过Hibernate?

Liferay在应用程序代码中执行其业务逻辑并不意味着您必须这样做,应用程序的体系结构完全取决于您


(这假定您的应用程序数据不引用Liferay的数据)

Liferay在应用程序代码级别(高级)执行业务逻辑的原因如下:

  • 这样,门户就变得与数据库无关,因此可以在不考虑底层数据库的情况下进行部署
  • 并非所有数据库都支持存储过程。因此,为了支持多个数据库,代码不能在存储过程中
  • 门户网站大多是内容驱动的,数据密集程度不高
  • 可能还有其他原因,或者他们可能遵循其他哲学,但这就是我现在能想到的

    那么现在的问题是你是否可以使用它

    正如我所说,这完全取决于你。它取决于您的需求以及您计划如何设计、维护和增强您的体系结构

    另请注意:建议不要直接从存储过程使用Liferay的数据库表,因为Liferay可能会更改新版本的数据库体系结构。因此,这可能会使升级过程复杂化

    我觉得这个问题与liferay没有太大关系,因此这里有一些链接可以帮助您做出决定:

  • 。前几个答案是这个方向的好指针
  • 如果在这种情况下没有增加太多的价值,有没有一种方法可以旁路休眠

    如果它没有增加值,那么您可以通过传递hibernate将JDBC用于您自己的自定义portlet。对于使用JDBC没有什么特别的配置,这是相同的好东西:-)

    希望这能引导你朝着积极的方向前进