1

Liferay に約 10 万人のユーザーを挿入しようとしています。各ユーザーを追加するために個別の呼び出しを行うのではなく、1 回のバッチ コミットでこれをすべて更新する方法はありますか?

4

2 に答える 2

5

はい、可能だと思います。

のようなカスタム リモート サービス エンティティを構築し、その中で各ユーザーBulkUserServiceUtil.addUsersの標準メソッドを呼び出します。UserLocalServiceUtil.addUser

メソッドから戻るとBulkUserServiceUtil、トランザクションがコミットされます。

于 2015-11-04T10:29:05.927 に答える
-3

@サンドディープ:

はい、ライフレイは一括ユーザーの追加/更新を提供していません。ユーザーの作成後に一部のテーブルが影響を受け、ユーザーのインデックスも作成されるためですが、それを行いたい場合は、2 つの提案があります。

  1. 記事の REINDEX オプションを参照してください。その場合、何らかの値でカウンター範囲のバッチを作成し、そのバッチを更新/追加できますが、Liferay は内部的に addUser デフォルトを呼び出します。したがって、使用できる反復的な方法です。
  2. サービスなし: いくつかのカスタム スクリプトを作成し、一度 DB に直接ヒットします。ユーザーを作成しますが、その場合、ユーザーIDまたはそれぞれのデータを挿入する必要がある他のliferayテーブルを処理する必要があります。
于 2015-11-04T07:37:12.587 に答える