【问题标题】:LIFERAY - how to create a user with a specific userID?LIFERAY - 如何创建具有特定用户 ID 的用户?
【发布时间】:2015-02-25 23:46:38
【问题描述】:

我正在使用 Liferay 6.2。

我需要在 LR 中添加一个具有特定用户 ID 的用户。 或者,使用另一个值更新用户 ID。 标准的 addUser 服务不提供指定用户 ID 甚至更新用户的可能性。

我想了解 LR 如何为新用户选择 ID,以及是否可以修改它。

谢谢!

【问题讨论】:

    标签: liferay liferay-6


    【解决方案1】:

    与几乎所有数据库驱动的应用程序一样,它们是按顺序分配的。不,您不必选择任何东西,它会由框架处理。它必须是唯一的,您不能添加具有相同 ID 的其他用户,并且您必须确保将来永远不会创建具有此 ID 的用户。因此:如果你使用一个已经给出的 id,你就会有一个重复的。如果您要使用一个尚未提供的 ID,那么您将在未来某个时间重复使用,此时 id 序列达到此值并且框架第二次分配相同的 id。

    如果您的架构依赖于特定 ID,则您的架构是错误的。重新考虑问题并更改架构以及您已经为实现它所做的任何事情。

    【讨论】:

      【解决方案2】:

      LR 核心服务使用 CounterService 自动分配 UserId(插件开发人员也应该这样做)...因此所有生成代码都正确包装在服务方法中,在创建用户时在不同表中创建许多行.

      我同意之前的评论“如果您的架构依赖于特定 ID,那么您的架构就是错误的”......顺便说一下,您可以使用小费。 你知道LR中的Expando吗? In 使您能够在数据库实体上添加虚拟列...通过使用它,您可以为表“User_”(实体“User”)创建一个虚拟列“myExternalId”并将所需的 ID 存储在那里。然后修改您的代码以使用字段 myExternalId 而不是 userId。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-21
        • 2023-01-12
        • 1970-01-01
        • 2020-05-09
        相关资源
        最近更新 更多