@PaaD: @kaczoor dodam jeszcze, że czyste hibernate raczej używa się trochę inaczej niż spring data jpa (co i tak używa hibernate'a). Jak planujesz też się uczyć springa, to polecam uczyć się tego z użyciem JpaRepository
  • Odpowiedz
Mam sobie POJO, które dostaje na wejściu. I teraz potrzebowałbym w jak najszybszy (najprostszy) sposób zapisać go do bazy przez JPA.
Niestety nie mam dostępu do modelu i nie moge go opisać annotacjami.

Jest jakis sensowny sposób aby to ogarnąc (zapewne będzie z 20-30 pojo/enumów) z tego co znalazlem to najbardziej sensowne:
- stworzyc encje i mapper (np. mapstruct)
- wygenerowac pliki hbm (jest jakis generator?), bo reczne pisanie troche odpada
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 0
@Myzreal widziałem sugestie jako jedno z rozwiązań. Adapter i a notacje na getterach. Tylko gość napisał że nie ma pewności czy to działa. Wychodzi na to ze będę musiał szybki test zrobić. Bo to nawet sensowne rozwiązanie.
  • Odpowiedz
Jest ktoś w stanie powiedzieć jak zrobić w kodzie z hibernate, żeby powstał problem n+1?
Czytam, że same relacje nie wystarczą bo będzie problem n+1, trzeba się wspomagać fetch joinem czy innymi rozwiązaniami, a u mnie w ogóle ten problem nie występuje ( ͡° ʖ̯ ͡°)
Jak będę miał zadanie na live codingu żeby zmapować encje to mam na to zwrócić uwagę czy olać bo ten problem już
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop
  • 1
@draxgar
Dialekt był ustawiony, propertiesy wyglądały mniej więcej tak:

spring.datasource.url=jdbc:h2:file:~/mytest123
spring.datasource.driver-class-name=org.h2.Driver
  • Odpowiedz
@Murasame: By hibernate nie tworzył nowych obiektów Role, trzeba użyć polecenia merge() w celu połączenia istniejącego obiektu Role z bazą danych. Następnie trzeba ustawić cascade na merge() dla encji UserRole, aby hibernate przeprowadził tę operację automatycznie w trakcie tworzenia usera i dodawania listy ról.

Przykładowo:

@OneToMany(cascade = CascadeType.MERGE, orphanRemoval = true)
@JoinColumn(name = "userid", nullable = false)
private Set<UserRole> userRoles;
  • Odpowiedz
Jak mam dwie klasy Entity powiązane ze sobą dwukierunkową relacją ManyToMany np. User i Discount to dobrym pomysłem będzie dorobienie pola w klasie User: Map?

Potrzebuję wiedzieć czy jest aktywna zniżka czy nie. A jak zmienię pole isActivated w bazie na dowolnym obiekcie Discount to będzie to zmiana widoczna dla wszystkich użytkowników, którzy korzystają z tej zniżki, a ja chcę tylko dla jednego usera. ( ͡° ʖ̯ ͡°)
takiMirek29 - Jak mam dwie klasy Entity powiązane ze sobą dwukierunkową relacją ManyT...

źródło: comment_1672406366yzXDsx5yplhxx5HKFEldfe.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #hibernate #spring

Czego teraz się używa do generowania Entity z istniejącej bazy danych?

Widzę na stacku są jakieś odpowiedzi z 2013 roku o hibernate3-maven-plugin, hibernate-tools-maven-plugin itp.
A coś do nowego JPA/Hibernate?
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z cykliczną zależnością referencji w hibernate tzn. przykładowo mamy dwie klasy autor (posiada pole set), z adnotacja manyToMany i przy pobieraniu jakiegos autora wywala blad bo przez metode toString mamy cykliczna zaleznosc. Dalem jsonignore na te pola, ale co mi z tego jak ja chce zwrocic pelen obiekt razem z tymi polami. Jak to zrobic?

amatorski picrel
#java #hibernate #spring #naukaprogramowania
nick230 - Mam problem z cykliczną zależnością referencji w hibernate tzn. przykładowo...

źródło: comment_16723132476Py2lH6WOTAGD1yafCfdLH.jpg

Pobierz
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak to zrobic?


@nick230: W toString() autora nie wypisuj jego książek a jak już musisz to nie rób tego przy użyciu toString() tylko pola które Cię interesują. O ile faktycznie masz problem z toString().
  • Odpowiedz
@nick230: W toString powinny być tylko i wyłącznie pola należące do tej encji, bez dociągania zależności z innych. Pchasz się w N+1.... Nie panujesz nad wykonywanym zapytaniem. Włącz wypisywanie zapytań hibernate w konfiguracji springa.
  • Odpowiedz
Mirki z #programista15k , wiem że "rychło w czas", ale mam budżet szkoleniowy do wydania do końca roku, a czasu na szkolenia brakuje ¯\_(ツ)_/¯ ... Podrzucicie mi, proszę, jakieś sensowne kursy, np. na #udemy (ale niekoniecznie), z tematów w stylu:
- zaawansowane rzeczy w #java
- zaawansowane rzeczy w #spring
- coś fajnego o JPA / #hibernate / Spring Data itd
-
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

hibernate.cfg.xml - wpisuje credentials do bazy, zapisuje do pliku. Robię maven package no i plik zmienia się na starą wersję. Próbowałem clean package, ale nie działa. Co zrobić? Nie mam doświadczenia z #maven #java #hibernate a dostałem takie zadanie. #stazysta15k ( ͡° ͜ʖ ͡°)
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jaki jest najbardziej efektywny sposób sprawdzania jakie są różnice między tym co w bazie a miedzy tym co przychodzi z api? Może ktoś rzucić jakiś buzzword?

Chodzi o sytuację kiedy na bazie jest np. 10 000 rekordów w kilku tabelach i codziennie odpytuje się zewnętrzne api po te dane, jak wychwycić co trzeba będzie zaktualizować, co nowego dodać, co usunąć, a co przywrócić (poprzez soft delete)? Póki co pomysłem jest dodanie hash
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrFisherman: nie rozumiem, co masz na mysli z tym opieraniem się na id

robisz coś w stylu:

MERGE docelowa_tabela as target
using ta_nasza_tabela_tymczasowa_z_danymi_z_api
  • Odpowiedz
Mam aplikację do zarządzania taskami przez zalogowanego usera (taka todolista na sterydach) i teraz pytanie - czy na pewno potrzeba tutaj relacji OneToMany między encją User i encją Task? Tworzy to dość silny coupling między modułami i utrudnia enkapsulację. Przecież apka działa tak, że user loguje się i zarządza swoimi taskami. Teraz to wygląda tak, że już po zalogowaniu jak np. user chce dodać taska, to ten user jest pobierany z repo
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

No właśnie. Nawet w bazie relacyjnej a takiej używam, User nic nie wie o żadnych Taskach tylko Taski mają klucz obcy w postaci UserId jak sam powiedziałeś, więc czemu by tego nie zamodelować w taki sam sposób bez jakiś relacji czy to jednokierunkowych czy dwukierunkowych?


@Edelner: przecież klucz obcy to tak naprawdę pomoc dla ciebie. Identyczna sytuacja jak w dyskusji "statyczne typowanie vs dynamiczne". Tabelki są tak elastyczne, że możesz
  • Odpowiedz
Hibernate 5 – z okazji 30 finału WOŚP

▶️Organizuję retransmisję ponad 4h godzinnego szkolenia na temat Hibernate 5.
▶️ Udział jest bezpłatny, jednak wydarzenie jest organizowane z okazji 30 finału WOŚP. Dlatego szczera prośba o wsparcie akcji i wpłatę do naszej skarbonki.
▶️ Wydarzenie odbędzie się 29 stycznia o 19:00
▶️Więcej szczegółów w tym program szkolenia i rejestracja na stronie wydarzenia:
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

dziś o 19:00


@SoftBull: wchodzę na stronę teraz, czyli 19:03 a tam:TEN WEBINAR WYGASŁ!
To seminarium internetowe już się odbyło. Przepraszam, wygląda na to, że to przegapiłeś.
  • Odpowiedz
@masterix: Rejestracja była o 19:00, więc jeśli nie zdążyłeś się zrejestrować to przepadło. Natomiast jeśli się zarejestrowałeś, to link dostępowy przyszedł Ci na maila i możesz dołączyć w każdym momencie :)
  • Odpowiedz
@PaaD: @Fiber: Ja oglądałem wszystkie filmiki od tego gościa i przerobiłem ćwiczenia które zaleca, wpisz sobie Thorben Janssen. Trochę grindowałem, nie powiem ale wyszło mi to na plus.

Teraz zaczął wrzucać nowe materiały, to od jakiegoś pół roku przestałem go śledzić. Aczkolwiek gość jest naprawdę ogarnięty, a przerabiałem wiele rzeczy z Hibernate.
  • Odpowiedz
@Fiber bardzo polecam blog lub książkę vlad mihalcea. Osobiście uważam, że każdy kto ma jakąkolwiek styczność z hibernate powinien przeczytać jego blog lub książkę. Opisuje jak najwydajniej i najlepiej korzystać z hibernate.
W zasadzie to w każdym projekcie jakim byłem było popełniane wiele błędów przy pracy z hibernate. Gdyby każdy przeczytał i wpoił jego bloga/książkę to nie byłoby tych błędów ( ͡º ͜ʖ͡º)
  • Odpowiedz
Chcialbym bez tworzenia nowej tabeli przechowac kolekecje integerow w tabeli juz stworzonej
Stworzylem kolumne typu int []
Jak to teraz zmapowac uzywajac hibarnate?

Przetestowalem to, ale te opcje ale to nie dziala

@
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pytanie do #programista15k #pytaniedoeksperta, którzy porzucili #php na rzecz #java #j2ee #hibernate #spring. Jak długo wam zajęło przejście z jednej technologii na drugą tak abyście mogli powiedzieć, że tworzenie aplikacji komercyjnych na sensownym poziomie nie stwarza wam problemów. Ile u was trwała nauka nowego języka, bibliotek, zmiana myślenia itp.?
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

że tworzenie aplikacji komercyjnych na sensownym poziomie


@Spook: w praktyce to bardziej utrzymywanie aplikacji komercyjnych na sensownym poziomie. Postaw sobie ze dwie apki w pełnym ekosystemie tj. baza, spring, prosty front na jakimś ajaxie, wszystko zdokeryzowane. Naucz się jak spring zarządza tranzakcjami pod spodem (AOP), jak działa javowy procesor adnotacji, bajtkod.

Wbrew temu co pisze część wykopków, język to naprawdę tylko narzędzie. O ile nie przechodzisz z webdevu na embedded
  • Odpowiedz
@Spook: zasady programowania i dobre praktyki są ogół niezależne od języka. Co za różnica czy będziesz pobierać pakiety z mavena, npm czy packagist? W gruncie rzeczy chodzi o to samo. Mi to zajęło może kilka tygodni dodatkowej pracy po godzinach. Dodatkowo wiele zależy od projektu, ludzi i praktyk w nim przyjętych.
  • Odpowiedz
@wpoldokomina: @bin-bash: A jak najlepiej oddzielić encję biznesową od encji hibernatowej? Mappowaniem? Jakąś klasą abstrakcyjną?


@Edelner: pewnie mapowaniem, ale w praktyce to czesto jest tak, ze model biznesowy ma tez adnotacje z jpa/hibernate i nie jest to rozdzielone :)
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
#programowanie #java #hibernate #spring

Polecicie jakiś dobry tutorial odnośnie implementacji relacji pomiędzy encjami? Tzn. OneToMany, ManyToMany, ManyToOne, JoinTable , lazy, eager itd?

W samym SQL ogarniam modelowanie bazy. Ale co mi wyplują w bazie klasy Javowe w JPA i kiedy której używać, żeby nie było problemu N+1 to już nie mam pojęcia.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@aloucie: no oczywiście, że developersko używam automatycznego generowania, żeby zobaczyć co wychodzi. Na produkcji oczywiście tylko validate i zmiany z Liquibase. Ale nie o tym jest ten wpis. To mam ogarnięte. Czego innego nie mam.
  • Odpowiedz