mk321
mk321
4
#programowanie #bazydanych #hibernate #mybatis #jdbc

Macie aplikację Javową (np. w Springu) i chcecie napisać do niej DAO do relacyjnej bazy danych (np. Oracle lub PostgreSQL). Zależy wam na wydajności i kontrolowaniu tabel/zapytań (w sensie, żeby samemu decydować kiedy ma się zrobić tabela, a nie automatycznie pod każdą klasę; żeby samemu decydować kiedy ma być join itd., bo jest to kosztowne).

Czego używacie?
- Spring

Do wydajnego DAO używam:

  • Spring Data 39.4% (13)
  • Hibarnate (tylko Java) 21.2% (7)
  • Hibernate z HQL 6.1% (2)
  • JPA bez Hibernate 3.0% (1)
  • MyBatis 6.1% (2)
  • SQL + JDBC 21.2% (7)
  • Inne 3.0% (1)

33 głosy

  • Najlepsze
  • Wszystkie komentarze
R.....d
R.....d
@mk321: Jooq
mk321
mk321 Autor
1
JPA bez hibernate? czyli co?


@SuppressWarnings: Hibernate to tylko jedna z implementacji JPA.

Tak jak
pkh
pkh
1
Dostaje pewien json i musze go zapisac w bazie danych. Problem mam taki ze nie mapuje sie on na konkretny obiekt, tylko ma zaleznie od wartosci pol moze byc innym obiektem (co przeklada sie na inne tabele w bazie). Dodatkowo do kontaktu z baza danych uzywam tylko #mybatis.
Jak to zrobic koncepcyjnie najlepiej?
Wydaje mi sie ze powinienem uzyc Jakson 2 i napisac wlasny deseralizer ktory bedzie mi towrzyc
  • Najlepsze
  • Wszystkie komentarze
kochmap
Wydaje mi sie ze powinienem uzyc Jakson 2 i napisac wlasny deseralizer ktory bedzie mi towrzyc odpowiedni obiekt. A ten obiekt poprostu bede zapisywal do bazy danych za pomoca myBatis. Jest jakas lepsza metoda na to?


@pkh: no tak średnio bym powiedział, musiałbyś deserializować do Object i dalej instanceof. A może by zdeserializować do hashmapy i zależnie od pól już dalej deserializować do konkretnych obiektów, przy tym użyj wzorca
fegwegw
Wydaje mi sie ze powinienem uzyc Jakson 2 i napisac wlasny deseralizer ktory bedzie mi towrzyc odpowiedni obiekt.


@pkh: też mi się tak wydaje.

O ile oczywiście problem nie leży na poziomie architektury aplikacji, ale tego nie jesteśmy w stanie stwierdzić.
MintajWKwadracie
Mirki z #programowanie #java #spring #mybatis

mam do napisania swego rodzaju watchdoga , który będzie raportowal czy jest polaczenie z baza danych i rozne takie, takie. I rodzi sie pytanie. Czy znacie moze jakis ciekawy sposob zeby obsłużyć polaczenie z bazą danych, że jak nie będzie tego polaczenia, to nie p--------e mi masą błędów z powodu braku połączenia ? ( ͡° ʖ̯
  • Najlepsze
  • Wszystkie komentarze
J.....n
J.....n
@MintajWKwadracie:
a coś takiego jak próba połączenia co określoną ilość czasu? Np. próba co 10 sekund za pomocą
try catch?