Jaki ORM Framework do aplikacji Desktopowej?

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

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Stacktrace
  • Postów:6822
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ć.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
walec51
W przypadku JPA bardziej bym polecił EclipseLink z przyczyn omawianych na http://4programmers.net/Forum/Java/225148-jpa_-_proste_rozwiazania
Koziołek
pracowałem z EL i jakoś mnie nie przekonał.
walec51
z ciekawości: natrafiłeś na bugi w nim czy jakiś ficzerów zabrakło ?
Koziołek
Ficzerowo mnie nie przekonał. Może kwestia tego, że jak go używałem to konieczność łączenia encji przez ValueObject mnie jakoś raziła.
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?

IN
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 10 lat
0

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

CH
  • Rejestracja:prawie 19 lat
  • Ostatnio:prawie 2 lata
  • Postów:656
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ć.

airborn
  • Rejestracja:prawie 16 lat
  • Ostatnio:około 7 lat
  • Postów:274
0

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

edytowany 1x, ostatnio: airborn
IN
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 10 lat
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ć.

walec51
  • Rejestracja:ponad 16 lat
  • Ostatnio:23 dni
  • Lokalizacja:Poznań
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.


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.