Spring Profile a mozliwosc przelaczania hibernate/JDBC

Odpowiedz Nowy wątek
2019-07-09 20:46
0

Hej,
Potrzebuje zrobic cos takiego by w zaleznosci od profilu uzywac hibernate albo zwyklego JDBC. Moje pytanie jest takie, czy da sie to zrobic przez Spring profiles ( czy warto) czy lepiej w mavenie zrobic 2 osobne moduly, ktore beda ladowane w zaleznosci od profilu.

Idealnie by bylo, abym mogla sie przelaczac w aplikacji pomiedzy jednym a drugim, ale nie jest to konieczne. Da sie ?

Pozostało 580 znaków

2019-07-09 21:22
1

@Vanilka: tzn. chcesz albo korzystac z JDBC albo hibernate? Trochę to dziwne, ale generalnie się da. Tworzyć np. interface UserRepository a później implentacje JdbcUserRepository i HibernateUserRepository a na podstawie profili tworzysz przy danym kontekście odpowiedni bean.


Nie pomagam przez PM. Pytania zadaje się na forum.
I dla obydwu osobne entities ? - Vanilka 2019-07-09 23:05
Dlaczego osobne? - BartoszCoyote 2019-07-10 09:17
@Vanilka: nie odpowiada się w komentarzach na główny temat, komentarze nie są od tego - scibi92 2019-07-10 11:00

Pozostało 580 znaków

2019-07-10 11:51
0
Vanilka napisał(a):

I dla obydwu osobne entities ?

W przypadku JdbcRepository Twoja encja jest zwykłym POJO, do którego możesz sobie mapować rezultaty zapytań itd.

Generalnie, może spróbuj nam wytłumaczyć dlaczego chcesz mieć komunikację z bazą raz z wykorzystaniem ORMa, a raz z czystym JDBC?
Może w Twoim problemie w ogóle nie o to chodzi i moglibyśmy spróbować wspólnie znaleźć lepsze rozwiązanie?

Korzystając z np. Hibernate, nadal możesz pracować prawie jak ze zwykłym JDBC - możesz wywoływać native query, zarządzać transakcją itd.

Pozostało 580 znaków

2019-07-10 15:12
0

Cel badawczy. Dlatego ppotrzebuje miec mozliwosc uruchomienia aplikacji na rozne sposoby.

Pozostało 580 znaków

2019-07-10 22:38
1

A może wystarczy Ci JdbcTemplate w springu?

Pozostało 580 znaków

2019-07-10 23:30
0
pitermaster napisał(a):

A może wystarczy Ci JdbcTemplate w springu?

Zalezy mi na tym aby jak najbardziej natywnie strzelic do tej bazy. Im mniej udziwnien tym lepiej. Co byloby najlepsze ?

Pozostało 580 znaków

2019-07-11 00:01
1

Jak chcesz natywnie, to po prostu JDBC: Connection, Statement, ResultSet i jazda. Jeśli trochę wygodniej to JdbcTemplate, ew. NamedParameterJdbcTemplate - na bazę w dalszym ciągu idzie napisany przez Ciebie SQL.

Pozostało 580 znaków

2019-07-12 21:00
0
Vanilka napisał(a):

Cel badawczy. Dlatego ppotrzebuje miec mozliwosc uruchomienia aplikacji na rozne sposoby.

W takiej sytuacji - tak, da się. Np. tak jak napisał @scibi92.

Zalezy mi na tym aby jak najbardziej natywnie strzelic do tej bazy. Im mniej udziwnien tym lepiej. Co byloby najlepsze ?

Dla mnie, osobiście, większym udziwnieniem jest korzystanie z czystego JDBC niż z np. Springowego JdbcTemplate(jeśli już masz tam Springa), czy nawet EntityManager#createNativeQuery(String) (i przeciążenia) - podobnie, jeśli i tak wykorzystujesz JPA (z np. implementacją Hibernate).

Przy czystym JDBC dojdą problemy z obsługą wyjątków, odrobinkę bardziej uciążliwym mapowaniem zwracanych danych i pewnie kilkoma innymi drobiazgami (jak choćby named parameters).

edytowany 1x, ostatnio: catom, 2019-07-12 21:01

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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