Jaki ORM Framework do aplikacji Desktopowej?

0

Witam, mam w planach zrobić aplikację do generowania raportów z bazy danych, ponieważ jest to baza zawierająca < 100 tabel z olbrzymią ilością rekordów chciałbym użyć jakiegoś frameworka ORM, aby ułatwić sobie pracę z zapytaniami SQL. Jakie rozwiązanie będzie najlepsze? JPA, Hibernate, a może coś innego - dodam tylko, że będzie to aplikacja Desktopowa i nie będzie wykorzystywać serwera do działania.

Pozdrawiam.

0

Jeżeli chcesz robić raporty i jest to baza z olbrzymią jak napisałeś ilością rekordów to nie polecam do tego brać ORM.

My takie rzeczy robimy Procedura w bazie danych -> widok tymczasowy

Jest to chyba najwydajniejsze podejście

1

JPA - specyfikacja (w uproszczeniu)
Hibernate - implementacja specyfikacji.

IMO, najwygodniej użyć hibernate, bo i dużo informacji o tym w sieci i łatwo pomoc uzyskać.

0

Procedury w bazie danych odpadają, bo użytkownik końcowy nie będzie miał do niej dostępu, raporty będą wykonywane w przez zapytania SQL z aplikacji.

Zawsze mi się wydawało, że Hibernate to duża kobyła i nie nadaje się do małej aplikacji do generowania raportów, chyba, że się mylę i można wziąć jakiś mały moduł ORM z niego i zaimplementować w aplikacji?

0

Widoków nie chcę tworzyć bo baza nie jest 'nasza' tylko dostarczana wraz z innym oprogramowaniem.

0

Ja bardzo sobie chwalę Apache DBUtils http://commons.apache.org/proper/commons-dbutils/
Wynik z bazy otrzymujesz w postaci beanów. Bardziej pomaga w pobieraniu z bazy niż przy zapisie, ale do raportów powinno wystarczyć.

0

A ktoś korzystał może na dłuższą metę z jOOQ i jest w stanie coś o tym rozwiązaniu napisać?

0

Dzięki DBUtils na pewno jest ułatwieniem, ale najbardziej zależy mi na narzędziu do mapowania tabel z bazy do javy, bo przepisanie tych tabel ręcznie to kupa monotonnej pracy.

0

Jest plugin do Eclipse http://marketplace.eclipse.org/content/dbviewer-plugin Daje możliwość podglądu tabel. Ma też możliwość generowania tzw. ValueObject. Mają one zmapowane pola z tabeli oraz wygenerowane dodatkowe przydatne metody. Warto zobaczyć.

0

Pytanie jak grubego ORM'a potrzebujesz i do czego.
ORM ułatwiają prace z modelem obiektowym - z SQL'em mogą czasem wręcz przeszkadzać.

Do generowania raportów z cudzej bazy danych zazwyczaj jedzie się po czystym SQL'u lub jakimś lekkim rozwiązaniu typu jOOQ jeżeli będziesz dużo dynamicznych zapytań składał.

Rozejrzyj się też po gotowych rozwiązaniach typu Jasper Reports.

airborn napisał(a):

A ktoś korzystał może na dłuższą metę z jOOQ i jest w stanie coś o tym rozwiązaniu napisać?

Rozważałem to do jednego projektu. Przestudiowałem dokumentacje i lib ten ma ciekawe podejście - zwłaszcza jeżeli chcesz bezpośrednio babrać w modelu relacyjnym, wykorzystywać specyficzne funkcje wybranej bazy danych i będziesz dużo dynamicznych zapytań składał.

Jednak w boju jeszcze z tym nie pracowałem. W kontekście tego wątku to z jOOQ mogą (tylko domniemam) być problemy jeżeli w tej bazie nadal sporo rozwijana jest schema.

1 użytkowników online, w tym zalogowanych: 0, gości: 1