Miraski czy na zaprezentowanym kodzie mogę zamiast wartości zmiennej service podać parametr z application.yaml?

@GenericGenerator(
name = "generator",
strategy = "wykop.pl.fajna.stronka.SuperKlasaZiD",
parameters
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kufelmleka: to nie wiem, ja używa 5.1 i spring boota 2.1, może coś się różni w starszym ¯\_(ツ)_/¯ no i ja używam plików .properties i tak mam np.

app.api.prefix=/api/v1.0
app.api.userRoute=${app.api.prefix}/users
  • Odpowiedz
Kiedy indeksowanie w JPA/Hibernate jest wydajniejsze? A kiedy mniej wydajne?


@victordeleco2: Na tak zadane pytanie można odpowiedzieć najwyżej 'jest wydajniejsze kiedy jest zrobione poprawnie, jest mniej wydajne w przeciwnym wypadku'. Doprecyzuj o co pytasz.
  • Odpowiedz
#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)

Oddanych głosów: 33

  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Chce napisac serwer Restowy w oparciu o springboot i hibernate. Mam juz modele encji, repository, service i jestem na etapie robienia controllerow restowych do operacji crudowych.

No i tutaj mam pytanie jak przykładowo dostaje requesta do modyfikacji Usera to jaka jest najlepsza praktyka walidacji? Sprawdzic w rescie przy pomocy UserService czy user istnieje i jezeli tak to na nim dzialac czy puszczac od razu do service userUpdate i tam rzucac wyjatek jezeli
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Burkhard: raczej kontroler jest od kierowania ruchem, nie wrzucalbym tam jakiejś logiki która sprawdza czy użytkownik istnieje. Wrzuć to do serwisu, tam sprawdź czy istnieje i stamtąd rzuć wyjątek. Mało tego, zrób oddzielną klasę która pobiera użytkownika np. po id i rzuca wyjątek jak nie istnieje. Wtedy taka klasa update będzie robić tylko jedną rzecz - update.
Wyjątki możesz łapać global exception handlerem. Albo zrób swój wyjątek i dorzuć adnotacje
  • Odpowiedz
wykonując bardziej skomplikowane czynności (zapis w kilku tabel) to nie jest pożądane, bo w przypadku błędu w drugim kroku, zapisy z pierwszego kroku zostały scommitowane do bazy.


@Koryntiusz: ale ty czytaj co napisałem :D chociażby z tego powodu jest to kiepski pomysł ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Hej, próbuję stworzyć aplikację, w której mam 2 klasy: User i Car połączone ze sobą relacją powiedzmy One-To-Many(Many-To-One). Po zalogowaniu się użytkownika jest możliwość dodania samochodu poprzez formularz w JSP. A tak naprawdę chciałbym, żeby istniała taka możliwość, bo za bardzo nie wiem jak podejść do tematu.
W formularzu do tworzenia aut powinny znaleźć się pola: id, name i user (auto jest przypisane do zalogowanego użytkownika). 2 pierwsze pola wiem jak przekazać
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #java #hibernate #sql
Chcę pobrać z bazy danych obiekty, posortowane alfabetycznie według nazw. Wywala mi utworzoną przeze mnie własną metodę z repozytorium: findAllByNameOrderByName(). Jak powinna wyglądać poprawna metoda?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dominias: ale to chcesz wszystkie czy po Name? bo teraz szukasz wszystkich po Name i nie podajesz argumentu. Jak wszystkie to findAllOrderByNameDesc/Asc() starczy oczywiscie Desc Asc musisz sobie wybrać.
  • Odpowiedz
Mireczki #java utknąłem z #hibernate na jednym etapie

W tej klasie https://github.com/enseitankad0/TestingRest/blob/master/src/main/java/hello/UserDataAccesObject.java jest chyba jakiś błąd bo postman wywala to co na screenie

POM xml https://github.com/enseitankad0/TestingRest/blob/master/pom.xml

hibernate.cfg.xml
borrow - Mireczki #java utknąłem z #hibernate na jednym etapie

W tej klasie https:...

źródło: comment_6PLdpDtfzOT892H1QsjXkxMwVYJ622v2.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #hibernate

Mirki, mam klasę @Entity , która ma kilka pól. Jedno pole jest w relacji @OneToMany - zawiera listę obiektów innej klasy @Entity. Dzięki temu mam dwie tabele połączone za pomocą wyznaczonego pola.
Problem w tym, że na początku wrzucam do bazy obiekty tylko tej głównej klasy, a dopiero później mam możliwość wygenerowania obiektów klasy, która jest w relacji @OneToMany.
Jest
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

SQL bardzo potrzebny?


@borrow: Hibernate wykona za Ciebie tylko podstawowe akcje na bazie, jeśli chcesz pisać query to musisz znać sql. Jeśli chcesz pisać sensowne query i korzystać z CriteriaQuery z JPA albo HibernateCriteria to nawet powinieneś ogarniać sql dość dobrze. Ale do podstaw wystarczy, że wiesz co to select, where, join, klucze i constraints.
  • Odpowiedz
#java #programowanie #mariadb #mysql #hibernate

org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions

ERROR: The last packet successfully received from the server was 143,327,076 milliseconds ago. The last packet sent successfully to the server was 143,327,077 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@puzno: wygląda na zerwane połączenie z bazą - być może twoja baza wyrzuca klienta za bezczynność, jeśli to jest powodem to spróbuj zwiększyć timeouty po stronie bazy, np. do absurdalnych 24h, podtrzymać połączenie po stronie klienta, albo przynajmniej uprzedzić zapytanie z testOnBorrow
  • Odpowiedz
Mirki jak (i czy w ogole) da się w Hibernate dolaczyc tylko n Fetch joinowanych rekordow.

Przykaldowo mam dwie encje, pierwsza to wlasciciel a druga zwierze. No i wladciciel moze miec wiele zwierzat (OneToMany) wiec w klasie odpowiadającej tej tabelce bedzie mial jakis Set. No i mam tam LAZY ladowanie, bo przyjmijmy ze tych zwierzakow moze miec i miliony wiec zeby nie pakowac wszystkiego do pamieci chce wyselektowac jakiegos wlasciciela i zaladowac
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach