Suche…


Einführung

Es gibt Szenarien beim Umgang mit Service Layer in Liferay, wenn wir die Datenbank mit zu vielen Klauseln abfragen oder mit mehreren Tabellen arbeiten müssen.

1) Dynamische Abfrage (Wrapper für API für Ruhezustand-Kriterien)

2) Benutzerdefinierte SQL-Abfragen

Bemerkungen

Verweise:

  1. Benutzerdefinierte SQL
  2. Dynamische Abfrage

Dynamische Abfrage in Liferay verwenden

Für die meisten Szenarien mit Entitäten aus der Service-Schicht können wir mit den Standard-Serviceaufrufen auskommen, auch mit Hilfe der Finder. Bei einfachen Szenarien mit mehreren Entitäten verwenden wir die dynamische Abfrage-API. Dies ist eine Wrapper-API für die Kriterien-API, die in Hibernate verwendet wird. Sie kann für Fälle verwendet werden, in denen eine dynamische Abfrage generiert werden muss, die in der Natur nicht sehr komplex ist, indem mehrere Konstrukte aus der API verwendet werden. Zu Beginn sind einige der am häufigsten verwendeten Konstrukte: DynamicQueryFactoryUtil -Used zum Erstellen einer Abfrage

RestrictionsFactoryUtil Wird verwendet, um Restriktionen für den Vergleich mit einem bestimmten Wert bereitzustellen, um die Ergebnisse einzugrenzen, die einem bestimmten Wert oder einem bestimmten Bereich entsprechen usw

ProjectionFactoryUtil Wird für das Bereitstellen von Projektionen verwendet, um Felder zu erhalten, die Teil des Suchergebnisses sind, dh, anstatt die gesamte Entität anzugeben, werden nur bestimmte Felder bereitgestellt oder eine Aggregrations-Funktion (z. B. min.max, avg) auf dasselbe Feld angewendet.

PropertyFactoryUtil Wird für den Vergleich einiger Eigenschaften der Entitätsklasse verwendet, um größtenteils mit anderen Feldern einer Abfrage verglichen zu werden

Die Implementierung dieser Klassen ist im Paket dao.orm.jpa mit allen verfügbaren Methoden enthalten



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow