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:

  1. Niestandardowy SQL
  2. Zapytanie dynamiczne

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



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow