liferay
Korzystanie z dynamicznego i niestandardowego zapytania SQL w Liferay
Szukaj…
Wprowadzenie
Istnieją sytuacje, gdy mamy do czynienia z warstwą usług w ciągu całego życia, kiedy musimy zapytać bazę danych za dużo klauzul lub mając do czynienia z wieloma tabelami. W takich przypadkach używamy jednego z:
1) Zapytanie dynamiczne (opakowanie interfejsu API kryteriów Hibernacji)
2) Niestandardowe zapytania SQL
Uwagi
Bibliografia:
Korzystanie z zapytania dynamicznego w Liferay
W przypadku większości scenariuszy z udziałem podmiotów z warstwy usług możemy zrobić to z domyślnymi wywołaniami usług, z pewną pomocą wyszukiwarek. W przypadku prostych scenariuszy z udziałem wielu podmiotów przechodzimy w kierunku używania dynamicznego interfejsu API zapytania. Jest to interfejs API opakowania dla interfejsu API Criteria używanego w Hibernacji. Może być używany w przypadkach, w których musimy wygenerować dynamiczne zapytanie, które nie jest bardzo złożone, używając kilku konstrukcji z API. Na początek niektóre z najczęściej używanych konstrukcji to: DynamicQueryFactoryUtil do konstruowania zapytania
RestrictionsFactoryUtil -Używany do zapewniania ograniczeń w celu porównania z pewną wartością w celu zawężenia wyników pasujących do określonej wartości lub w zakresie itp.
ProjectionFactoryUtil Używany do dostarczania prognoz, aby uzyskać pola, które będą częścią wyniku wyszukiwania, tj. Zamiast dostarczania całej encji, dostarczy tylko niektóre pola lub zastosuje funkcję agregacji (taką jak min.max, avg) na tym samym.
PropertyFactoryUtil -Używany do porównywania niektórych właściwości z klasy encji w celu głównie porównania z innymi polami z zapytania
Implementacja tych klas jest obecna w pakiecie dao.orm.jpa ze wszystkimi dostępnymi metodami