🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #154106

JPA czy JDBC

#154106
From: Piotr Buczek
Date: Sat, 20 Dec 2014 09:15
42 lines
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
Technical Details
Message-ID: <54953e2d$0$21550$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Sat, 20 Dec 2014 10:15:20 +0100
From: Piotr Buczek <piotr.buczek@op.pl>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
Newsgroups: pl.comp.lang.java
Subject: JPA czy JDBC
Lines: 48
Message-ID: <54953e2d$0$21550$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: host-80-238-120-105.jmdi.pl
X-Trace: 1419066925 unt-rea-a-02.news.neostrada.pl 21550 80.238.120.105:63645
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit