使用Liferay API创建组织

使用Liferay API创建组织,liferay,Liferay,以下哪个util适合使用Liferay API创建组织 i) OrganizationUtil ii)OrganizationServiceUtil iii)OrganizationLocalServiceUtil 基本上,我想知道这三者之间的区别 i) OrganizationUtil:com.liferay.portal.service.persistence.OrganizationUtil 持久层中的类直接与数据库通信,因此,如果您关心事务,那么可以从服务层使用这些类 以下是来自 组织服

以下哪个util适合使用Liferay API创建组织

i)
OrganizationUtil

ii)
OrganizationServiceUtil

iii)
OrganizationLocalServiceUtil

基本上,我想知道这三者之间的区别

i) OrganizationUtil:
com.liferay.portal.service.persistence.OrganizationUtil

持久层中的类直接与数据库通信,因此,如果您关心事务,那么可以从服务层使用这些类

以下是来自

组织服务的持久性实用程序。此实用工具包装OrganizationPersistenceImpl,并为CRUD操作提供对数据库的直接访问。此实用程序只能由服务层使用,因为它必须在事务中运行。永远不要在JSP、控制器、模型或其他前端类中访问此实用程序


ii)OrganizationServiceUtil:
com.liferay.portal.service.OrganizationServiceUtil

它可以从任何层调用。此类还执行权限检查(基于Liferay中给定的权限),这在某些情况下可能很有用。这也可以通过web服务使用

好吧,让我们看看liferay要说什么:

组织远程服务的实用程序。此实用工具包装com.liferay.portal.service.impl.OrganizationServiceImpl,是远程服务器上运行的应用层代码中服务操作的主要访问点

这是一个远程服务。此服务的方法应基于传播的JAAS凭据进行安全检查,因为此服务可以远程访问


iii)OrganizationLocalServiceUtil:
com.liferay.portal.service.OrganizationLocalServiceUtil

如果不需要任何权限检查,也可以使用此选项。
OrganizationServiceUtil
最终会调用
localService

Liferay的:

组织本地服务的实用程序。此实用工具包装com.liferay.portal.service.impl.OrganizationLocalServiceImpl,是本地服务器上运行的应用层代码中服务操作的主要访问点

这是本地服务。此服务的方法不会基于传播的JAAS凭据进行安全检查,因为只能从同一VM内访问此服务

结论
  • 如果您关心事务,即必须更新事务中的多个表,请使用OrganizationUtil
  • 如果您在liferay之外创建组织,或者需要权限检查&您不关心事务(即使用自定义代码的事务),请使用OrganizationServiceUtil
  • 如果您不使用web服务并且不关心事务或权限,请使用OrganizationLocalServiceUtil
  • 希望这能给你一个公平的想法。如果还不清楚,请告诉我