liferay
Dynamische und benutzerdefinierte SQL-Abfrage in Liferay verwenden
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:
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