2016-11-23 8 views
1

Ich erstelle einige Dienste mit Liferay 7. Aber FinderImpl und FinderUtil Klassen erstellt werden, nicht nach services.The Schritten Aufbau Ich folgte, sind wie folgt:ServiceBuilder nicht FinderImpl-Klasse erstellen?

  1. ein Service-Builder-Projekt angelegt.
  2. Erstellte Finder-Spalten.
  3. Erzeugt und implementiert den * -api und * -service ... wobei * der Projekt-/Dienstname ist.
  4. Aktualisieren Sie das Projekt mit Gradle -> Aktualisieren Gradle Project.
  5. Drag-and-drop der * -Service und * -api auf den laufenden Server.

Ergebnis: Es erstellt die Tabelle aber * FinderImpl und * FinderUtil Klassen gibt es nicht in dem Projekt.

Antwort

2

Sie müssen Ihren Klassen- und Neuerstellungsdienst *FinderImpl erstellen, da Finder-Klassen nicht standardmäßig erstellt werden. Nach Angaben der Liferay Dokumentation:

Der erste Schritt ist eine *FinderImpl Klasse in dem Dienst Persistenz Paket zu erstellen. Für die Anwendung "Gästebuch" könnten Sie beispielsweise eine Klasse EntryFinderImpl im Paket com.liferay.docs.guestbook.service.persistence.impl erstellen. Ihre Klasse sollte BasePersistenceImpl<Entry> erweitern.

Führen Sie Service Builder aus, um die *Finder-Schnittstelle und die *Util-Klasse für den Finder zu generieren. Service Builder generiert die *Finder-Schnittstelle und die -Dienstprogrammklasse basierend auf der Klasse *FinderImpl. Ändern Sie bitte Ihre *FinderImpl Klasse haben sie implementieren die *Finder Schnittstelle, die Sie gerade erzeugt:

Quelle: https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql

+0

Finder-Schnittstelle wurde created.I diese Schnittstelle implementiert, aber FinderUtil Klasse noch nicht erstellt !! –

+0

Sie müssen 'gradlew buldService' erneut ausführen, um die FinderUtil-Klassen zu generieren. – brandizzi