我们的应用程序有非常大的数据,我们希望在数据库层(存储过程)中执行我们的业务逻辑(聚合)。
Liferay 更喜欢在业务层中拥有业务逻辑(具有多层架构)。
如果我们想为业务逻辑使用存储过程,会有什么影响?
由于 Liferay 也使用 Hibernate,如果在这种情况下没有增加太多价值,有没有办法在这种情况下绕过休眠?
Liferay 在应用程序代码中执行其业务逻辑这一事实并不意味着您必须这样做,您的应用程序架构完全取决于您。
(这假定您的应用程序数据不引用 Liferay 的数据)
Liferay 在应用程序代码级别(高级)执行其业务逻辑的原因:
可能还有其他原因,或者他们可能遵循其他一些哲学,但这是我现在能想到的。
那么现在的问题是您是否可以使用它?
正如frant.hartm所说,这完全取决于您。这取决于您的要求以及您计划如何设计、维护和增强您的架构。
另外提醒一句:建议不要直接从存储过程中使用 Liferay 的数据库表,因为 Liferay 可能会更改新版本的数据库架构。因此,它可能会使您的升级过程复杂化。
我觉得这个问题与 liferay 无关,因此这里有一些链接可能会帮助您做出决定:
如果在这种情况下没有增加太多价值,有没有办法在这种情况下绕过休眠。
如果它没有增加价值,那么是的,您可以将 JDBC 用于您自己的自定义 portlet 绕过休眠。使用 JDBC 没有什么特别的配置,它是同样的好东西:-)。
希望这会引导您朝着积极的方向前进。