1

Liferay 7 を使用していくつかのサービスを作成しています。ただし、サービスをビルドした後にFinderImplおよびFinderUtilクラスは作成されません。私が従った手順は次のとおりです。

  1. サービス ビルダー プロジェクトを作成しました。
  2. ファインダ列を作成しました。
  3. *-api と *-service をビルドしてデプロイしました...ここで、* はプロジェクト/サービス名です。
  4. gradle -> Refresh Gradle Project を使用してプロジェクトを更新します。
  5. *-service と *-api を実行中のサーバーにドラッグ アンド ドロップしました。

結果: テーブルは作成されますが、*FinderImpl および *FinderUtil クラスはプロジェクトにありません。

4

1 に答える 1

2

*FinderImplFinder クラスはデフォルトでは作成されないため、クラスを作成してサービスを再構築する必要があります。Liferayのドキュメントによると:

最初のステップは*FinderImpl、サービス永続化パッケージでクラスを作成することです。たとえば、Guestbook アプリケーションの場合、パッケージEntryFinderImpl内にクラスを作成できます。com.liferay.docs.guestbook.service.persistence.implあなたのクラスは拡張する必要がありBasePersistenceImpl<Entry>ます。

Service Builder を実行して、ファインダーの*Finderインターフェースとクラスを生成します。*UtilService Builder は、クラスに基づいて*Finderインターフェイスとユーティリティ クラスを生成します。クラスを変更して、生成したインターフェイスを実装します。*FinderUtil*FinderImpl*FinderImpl*Finder

ソース: https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql

于 2016-11-23T20:26:21.163 に答える