以下哪个util适用于使用Liferay API创建组织。
i)OrganizationUtil
ii)OrganizationServiceUtil
iii)OrganizationLocalServiceUtil
基本上,我想知道这三者之间的区别。
答案 0 :(得分:4)
i)OrganizationUtil:
com.liferay.portal.service.persistence.OrganizationUtil
持久层中的类直接与数据库通信,因此很好地从服务层使用,如果你关心事务也是如此。
以下是documentation:
中的字词组织服务的持久性实用程序。此实用程序包装OrganizationPersistenceImpl并为CRUD操作提供对数据库的直接访问。此实用程序只应由服务层使用,因为它必须在事务中运行。永远不要在JSP,控制器,模型或其他前端类中访问此实用程序。
ii)OrganizationServiceUtil:
com.liferay.portal.service.OrganizationServiceUtil
可以从任何层调用它。此类还执行权限检查(基于Liferay中给出的权限),这在某些情况下可能很有用。这也可以通过网络服务使用。
好吧,让我们看看liferay的documentation所说的话:
组织远程服务的实用程序。此实用程序包装com.liferay.portal.service.impl.OrganizationServiceImpl,并且是在远程服务器上运行的应用程序层代码中的服务操作的主要访问点。
这是一项远程服务。此服务的方法应根据传播的JAAS凭据进行安全检查,因为可以远程访问此服务。
iii)OrganizationLocalServiceUtil:
com.liferay.portal.service.OrganizationLocalServiceUtil
如果您不想要任何权限检查,也可以使用它。 OrganizationServiceUtil
最终会调用localService
图层。
Liferay的Documentation:
组织本地服务的实用程序。此实用程序包装com.liferay.portal.service.impl.OrganizationLocalServiceImpl,并且是在本地服务器上运行的应用程序层代码中的服务操作的主要访问点。
这是本地服务。此服务的方法不会基于传播的JAAS凭据进行安全检查,因为只能从同一VM中访问此服务。
希望这会给你一个公平的想法。如果还不清楚,请告诉我。