Wpis z mikrobloga

Chcę, aby funkcja zwracała mi pewną listę rekordów z bazy danych na podstawie przekazanych argumentów, które są użyte do zbudowania zapytania SQL. Jeżeli argument jest nullem, powinna zwrócić wszystkie rekordy. Jest jakieś eleganckie rozwiazanie czegoś takiego? Pierwsza myśl to funkcja, która zwraca "*" gdy argument jest pusty(przekazaa do setParameter) albo przechwycenie wyjątku i w bloku catch zwrócenie wszystkich rekordów, ale to chyb dość toporne, da się to jakoś schludnie zrobić?

#java #programowanie #hibernate
  • 9
@alosha: Jestem raczej nowy w hibernate, nawet nie wiedziałem, że jest coś takiego jak Criteria, ale fajnie to wygląda, dzięki.

Chodziło właśnie o to, żeby uniknąć warunków w HQL.
@alosha: Tak tak, ale czystej metody nie. Ostatnio dużo w ORMach siedziałem, a głównie w GORm Grailsowym :P Tam się nie martwiłem o nic, jedynie o dobrze zdefiniowaną klasę domainową i dobrym jej zmapowaniem na bazę :P

W każdym razie i tak bym się nie bawił w catche tylko pierwszym sposobem.