UserLocalServiceUtil.addRoleUser和RoleLocalServiceUtil.addUserRole有区别吗?

Is there any difference between UserLocalServiceUtil.addRoleUser and RoleLocalServiceUtil.addUserRole?

在 Liferay API 中,我观察到 UserLocalServiceUtil.addRoleUser(long roleId, long userId)RoleLocalServiceUtil.addUserRole(long userId, long roleId) 可通过两种不同的服务获得相同的目的,即 将角色分配给用户。 纠正我,我错了!

深入挖掘实现揭示了以下层次结构:

UserLocalServiceUtil.addRoleUser > UserLocalServiceBaseImpl.addRoleUser >
RolePersistenceImpl.addUser > TableMapperImpl.addTableMapping (roleToUserTableMapper)

(接受两个参数的方法 long roleId, long userId)

同时,

RoleLocalServiceUtil.addUserRole > RoleLocalServiceBaseImpl.addUserRole >
UserPersistenceImpl.addRole > TableMapperImpl.addTableMapping (userToRoleTableMapper)

(接受两个参数的方法 long userId, long roleId)

我注意到这两种实现最终都会在 roleIduserId 之间添加映射,反之亦然。

但是,我有以下担忧:

  1. 两个 API 的结果是否相同,即角色分配给用户?
    一种。如果是,那么为什么会重复/重复服务?
    b.如果不是,那有什么区别?
  2. 哪个在性能和可访问性方面更好?
  3. 哪个结果 运行-次,没有重启服务器?

@Parkash Kumar: 是的你是对的! 两种方法给出的结果是相同的,它们只是在某些表中添加条目。

检查UserPersistenceImpl.javaafterPropertiesSet()方法这会影响Users_Groups,Users_Orgs,Users_Roles,Users_Teams,Users_UserGroups 表,其中 afterPropertiesSet() 方法 afterPropertiesSet()Groups_Roles,Users_Roles影响那个表。

您会发现实现和 属性 将由 LiferayDEV 更改,它用于方便开发人员和某些表中的条目。

这两种方法都能为您提供相同的目标,但如果您使用的是 RLSU 方法,则与 ULSU 方法相比,它会为您提供更快的结果。