Thread View: pl.comp.lang.java
2 messages
2 total messages
Started by Piotr Buczek
Sat, 20 Dec 2014 09:15
JPA czy JDBC
Author: Piotr Buczek
Date: Sat, 20 Dec 2014 09:15
Date: Sat, 20 Dec 2014 09:15
42 lines
2862 bytes
2862 bytes
Cześć Choć młodzikiem już nie jestem to jednak w dziedzinie Javy można mnie sklasyfikować jako młodziaka. I oto mnie gołowąsowi przyszło napisać aplikację w javie, która będzie łączyła się z wieloma bazami danych. Nie bardzo wiem którą drogą pójść. Stąd moja prośba o porady. Podstawowe założenia projektowe to: - do serwisu loguje się wielu klientów - każdy klient ma zagwarantowaną separację danych na poziomie bazy danych, implikuje to, że w momencie logowania zapada decyzja o tym z jaką bazą się łączymy - aplikacja musi być szybka, dane będą do niej trafiały hurtowo na szczęście ich rozmiar będzie niewielki - szkielet aplikacji jest oparty o spring - każdy klient ma osobny punkt wejścia do aplikacji - dedykowany url Tym który dotrwali czytając do tego miejsca chcę zadać pytanie. Na jaki sposób łączenia z bazą danych się zdecydować? JPA czy JDBC? Za JPA (tutaj konkretnie EclipseLink) przemawia szybkość tworzenia aplikacji i lepsza jej organizacja, niestety nie wiem jeszcze jak rozwiązać problem dynamicznego podłączenia się do bazy (wiele predefiniowanych persistance units odpada, bo wymagana jest opcja automatycznego tworzenia środowiska dla nowego klienta, restart serwera jest zabroniony). Kolejna moja wątpliwość, to czy JPA jest przewidziana do takich wygibasów, czy nie wpadnę w jakąś pułapkę? JDBC - tutaj mozna zrobić niby wszystko i możliwości tuningu wydajności wydają się szersze. Niestety kod nie jest tak piękny, trzeba wszystko dziergać ręcznie i podatność na błędy jest chyba większa. Niewątpliwą zaletą użycia JDBC jest możliwość pełnego wykorzystania możliwość bazy danych, można swobodnie korzystać z procedur składowanych itd bez zaprzątania sobie głowy tym, czy JPA zorientuje się, że doszło do zmian w bazie. Koleżanki i Koledzy które rozwiązanie zalecilibyście mi? A może jest inna droga? -- Piotrek
Re: JPA czy JDBC
Author: Wojtek
Date: Thu, 15 Jan 2015 09:52
Date: Thu, 15 Jan 2015 09:52
28 lines
1991 bytes
1991 bytes
> > Tym który dotrwali czytając do tego miejsca chcę zadać pytanie. Na jaki > sposób łączenia z bazą danych się zdecydować? JPA czy JDBC? > > Za JPA (tutaj konkretnie EclipseLink) przemawia szybkość tworzenia > aplikacji i lepsza jej organizacja, niestety nie wiem jeszcze jak Niekoniecznie. Musisz definiować encje, które są do niczego niepotrzebne, a wymaga je JPA. A potem rodzą się problemy "nieznane w innych ustrojach": LAZY czy EAGER (i oba rozwiązania są takie sobie). Potem standardowe problemy typu: jak zamapować jakieś tam many2many itp (oczywiście to jest opisane). Potem dojdą problemy wydajnościowe - i kolejny koszt na ich rozwiązanie. Potem dziwaczny EJBQL i takie tam. > > JDBC - tutaj mozna zrobić niby wszystko i możliwości tuningu wydajności > wydają się szersze. Niestety kod nie jest tak piękny, trzeba wszystko > dziergać ręcznie i podatność na błędy jest chyba większa. Niewątpliwą Jestem za JDBC, ewentualnie MyBatis. Kod jest niegorszy od tego z JPA. Oczywiście stwórz sobie jakiś template typu SpringJDBC (czy jakoś tak). Pozdrawiam, Wojtek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads