Czym zastąpić JPA?

Czym zastąpić JPA?
TY
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:204
2

Halo.
Mam możliwość całkowitego wykopania JPA z projektu w którym pracuję.

Czy polecacie jakąś sensowną alternatywę dla dostępu do SQLowej bazy danych? Nie uśmiecha mi się chechłanie zapytań ręcznie, bo zaraz sobie zrobię SQL injection, a najlepiej jakby było wsparcie do weryfikowania składni zapytań w compile-time.

Najchętniej użyłbym jOOQ'a, ale niestety odpada, bo pienionszki =(

KamilAdam
A jaka baza że nie możesz JOOQ? Dla postgresa jest darmowe
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
8

Najprostsza alternatywa to JDBI. Polecam.
Szczególnie polecam z Kotlinem, ale i z Javą jest ok.
Żadnej weryfikacji specjalnej nie ma :-( To po prostu SQL + mapowanie na klasy - ultra prostackie.

Jakbyś chciał coś bardziej bezpiecznego w compile time to niestety -> Scala (Slick i podobne).


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 3x, ostatnio: jarekr000000
Korges
Bardzo podobnie wygląda do JdbcTemplate
RequiredNickname
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 3 godziny
  • Postów:620
2

Masz kilka opcji:

  • jooq

  • mybatis

  • jdbc

  • SQLAlchemy

  • sequelize

    Itp

jarekr000000
JDBC nie jest żadną sensowną opcją
RequiredNickname
sensowną? nie, ale opcją? tak ;)
LitwinWileński
przecież Twoje JDBI Jarek jest na jdbc zbudowane
jarekr000000
@LitwinWileński: Pizza to też jest zbudowana głównie na węglu. Mimo to jest jakaś różnica w konsumpcji (choć zależy jak bardzo przypaloną lubisz).
LitwinWileński
jeśli jdbc to węgiel to JDBI to torba z węglem
TR
  • Rejestracja:prawie 9 lat
  • Ostatnio:około 2 lata
  • Postów:731
0

@RequiredNickname: jeszcze zapomniałeś dodać Apache Camel SQL :D


musica curat corpus at animam
RequiredNickname
i o jdbc template :)
ZD
Spring jdbctemplate de facto zakłada całą stajnię. Wiem, bo kiedyś miałem wątpliwe szczęście użyć poza webem - nigdy więcej - choć działało
wiciu
  • Rejestracja:ponad 11 lat
  • Ostatnio:15 dni
  • Postów:1205
1

Oprócz wymienionych rozwiązań, jest jeszcze R2DBC, który jest kompatybilny m.in. ze Spring Bootem.

Sam wybrałbym R2DBC lub wspomniany JDBI.

edytowany 1x, ostatnio: wiciu
LitwinWileński
  • Rejestracja:około 3 lata
  • Ostatnio:16 dni
  • Postów:740
0

jeszcze jest springowa nakładka na jdbc z pakietu org.springframework.jdbc.core czyli JdbcTemplate

CO
  • Rejestracja:ponad 2 lata
  • Ostatnio:ponad 2 lata
  • Postów:1
0

hmm, może trywialne pytanie - dlaczego chcesz wyrzucić JPA?

edytowany 1x, ostatnio: Codec_
RequiredNickname
Dużo magii i wyciekającej, hajbernetowej abstrakcji. Takiego hibernate'a trzeba umieć obskuzyc (przez duże U) bo inaczej łatwo zrobić sobie krzywde.
YA
  • Rejestracja:około 10 lat
  • Ostatnio:około 2 godziny
  • Postów:2371
1

API restowym?

Postgres -> PostgREST
Oracle -> Oracle REST Data Services

Zobacz pozostałe 3 komentarze
YA
@AnyKtokolwiek: nikt nikomu nie broni walczyć o cykle procesora, czy pisać w assemblerze. Nie zawsze jest to uzasadnione. Używając bibliotek godzimy się na "dostawanie pod przymusem".
AK
Kto mówi o assemblerze? Nie chodzi o hakrkę i asm-optymalziację, "wystarczy nie kraść", nie dawać gorszego choć modnego zamiast sprawdzonego (transmisja nudnym natywnym BINARNYM protokołem drivera SQL)
YA
AK
gorszego pod wzgledem zasobów i nie roziwązaującego postawionego problemu ... to już całkiem 200% "hype programming"
YA
@AnyKtokolwiek: jak nie rozwiązuje? Z perspektywy programisty wywalasz SQLe i konieczność ich budowania. Z perspektywy projektanta, taki komponent daje ciekawe możliwości (replikacja, load balancing, szyfrowanie, kompresja, instrumentacja, skalowalność, routing). Nie zmuszam, pokazuję alternatywę.
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:2 dni
  • Lokalizacja:Stacktrace
  • Postów:6822
1

@Tyvrel: zacznijmy od podstawowego pytania – Co chcecie osiągnąć?


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.