Aplikacja desktop i różne bazy danych

0

Piszę aplikację desktopową w technologii dwu warstwowej kilent-serwer. Serwer bazy danych to PostgreSQL. Komunikacja z bazą poprzez JPA.

Chciałbym, aby w aplikacji była możliwość zmiany serwera bazy danych (wpisanie odpowiednich wartości w okienku konfiguracyjnym) przy czym chciałbym, aby można było zastosować inną bazę danych, np. MySQL bez konieczności ponownej kompilacji projektu.

Nie wiem na ile jest to możliwe.

Jave znam na poziomie podstawowym (samouk :) ), jednak nigdy nie pisałem aplikacji bazodanowej. Jest to moja pierwsza tak rozbudowana i skomplikowana aplikacja.

0

Oczywiście, że jest to możliwe. Jeżeli używasz JPA możesz w pliku persistance.xml dowolnie skonfigurować informacje dotyczące bazy danych. Jeżeli zależy ci jednak na znacznie większej swobodzie to możesz tworząc EntityManager za pomocą EntityManagerFactory przekazywać mapę konfiguracji, która będzie pochodzić z np. pliku properties.

0

Więc rozwiązaniem problemu jest edycja pliku persistence.xml przez aplikację przed połączeniem z bazą danych i wpisanie do niego odpowiednich wartości podanych przez użytkownika ?

Co będzie łatwiej zrobić: zmieniać plik persistence.xml czy properties ?

Mam jeszcze jedno pytanie. Chodzi o ORM, a dokładniej o automatyczną generację wartości ID w tabelach. PostgreSql używa do tego celu sekwencji. Z tego co się orientuję to np. w MySQL jest inaczej. Czy to nie będzie powodowało błędów w działaniu aplikacji ?

0

Wygodniejsze są pliki properties ponieważ persistance.xml znajduje się w jar z aplikacją.

Co do sekwencji http://tedyoung.me/2011/04/14/jpa-counters-and-sequences/

0
Koziołek napisał(a):

Co do sekwencji http://tedyoung.me/2011/04/14/jpa-counters-and-sequences/

Niestety ten sposób nie działa z bazą PostgreSQL.

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