Mirkasy tworzę sobie specyfikację za pomocą org.springframework.data.jpa.domain.Specification.
Mam atrybuty i sprawdzam kazdy czy jest null i jesli nie to dodaje go do warunku AND poprzez predykaty.
Problemem jest gdy wszystkie pola sa null a więc zapytanie powinno zwrócić wszystkie elementy a hibernate robi w zapytaniu:

where 0=1
Specyfikacje robie mniej wiecej
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@Patres: właśnie tak próbowałem ale kurna jest problem z tym żeby mi zwrócilo dobry wynik w json, raz mi się udało tak że zwracało tylko meble z jakimś zaplanowanym przeniesieniem (ale nie bylo tego widać w json) a przeważnie przeniesienie ustawiało na null :/
  • Odpowiedz
Mirkasy,
jakie są zalety budowania zapytań w Spring Data poprzez org.springframework.data.jpa.domain.Specification zamiast stworzyć metody które będą nam budowały zapytania w Stringu. Parametry oraz informacje jakie kolumny oraz czy to jest order ASC, OR czy AND przychodzą w atrybutach(XML). Takie sklejanie zapytania żmudne, ale mniej kodu niż ze Specification.
#java #spring #hibernate
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrFisherman: @kickli: dzięki Wam bardzo za pomoc, rozwiązałem to inaczej, po prostu w klasie zrobiłem pole private Integer timePeriodId; i ręcznie/z kodu wyszukuję te TimePeriod i setuje je do osobnej klasy łączące oba i inne potrzebne obiekty. Jak będę refaktoryzował (jak znajdę czas), to odniosę się jak udało mi się poradzić.
  • Odpowiedz
#programowanie #java #hibernate

Napisaliście aplikację, wdrożyliście ją i już działa. Na produkcji w bazie danych są jakieś dane.

Rozwijacie dalej aplikację i robicie jakieś zmiany w Entity (np. dodanie kolumny w bazie, zmiana nazwy tabeli).

Co

Co robicie przy wdrożeniu nowej wersji aplikacji z Hibernate?

  • Hibernate sam robi zmiany na produkcji 0% (0)
  • Liquibase 52.2% (24)
  • FlyBase 15.2% (7)
  • Ręczne SQL 21.7% (10)
  • Eksport -> Hibernate -> Import 6.5% (3)
  • Inne 4.3% (2)

Oddanych głosów: 46

  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, usypiam komputer na noc, rano chcę go na szybko odpalić a tu się okazuje, że on się zahibernował. W rezultacie cała operacja trwa dłużej niż gdybym go wieczorem wyłączył (dysk HDD).
Nie chodzi mi o dysk i jego prędkość ale o to jak wyłączyć hibernację w nocy mimo, że komputer jest podłączony do prądu. Chcę to wyłączyć a hibernacja może zostać tylko, gdy bateria spadnie do np. 20% podczas uśpienia (wtedy
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@zielony_wiatr: a wyłączenie hibernacji?:

1. Click Start, and then type cmd in the Start Search box. (Don’t use run since it won’t allow you to run as an administrator.
2. In the search results list, right-click Command Prompt or CMD, and then click Run as Administrator.
3. When you are prompted by User Account Control, click Continue.
4. At the command prompt, type powercfg.exe /hibernate off and then press Enter.
  • Odpowiedz
Ranking z Tag ma relację 1:1
Ranking.tag_id = Tag.id

Ciem pobrać Rankingi po Tagach. Ale nie ciem w payloadzie wysyłać Tag.id tylko Tag.name. Tag.name nie jest kluczem.
W tym celu czy muszę napierw pobrać List tags = tagRepository.findByName(name) i dopiero rankingRepository.findByTags(tags)

czy
p.....k - Ranking z Tag ma relację 1:1
Ranking.tag_id = Tag.id

Ciem pobrać Rankin...

źródło: comment_1600518048aFWWbvL3xpaI4UBgATHRJ4.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xnor: bazę mam na amazonie te darmową 1 vCpu i 1 GB Ram, 1 insert zajmuje ok 200ms czyli 50 rekordów to jakieś 10 sekund, chyba dość dużo ale nic nie poradze widocznie
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Cześć, próbuję w swoim małym projekcie oddzielić warstwę obiektów domenowych od encji, które są zapisywane do bazy danych i mam taki problem:

Przykład (używam JPA)

VisitEntity -> poza standardowymi typami prostymi (id, datę itp) przechowuje informacje o Doktorze (DoctorEntity).

DoctorEntity
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Rubajticos: narysuj to sobie na kartce i postaraj się tak pogupować dane, żeby unikąć cykli. Generalnie unikaj cykli zależności.
Pytanie, czy doktor w bazie danych musi mieć info o swoich wizytach? Jeśli potrzebujesz w domenie, to mozesz zrobić więcej niż jedno zapytanie zeby to wyciągnąć (zazwyczaj to ne problem). I zamiast JPA użyj czegoś ludzkiego ;)
  • Odpowiedz
@Rubajticos: JPA samo w sobie potrafi sobie poradzic z takim mapowaniem obustronnym. Wiec bys musial w swoim podejsciu zaimplementowac dokladnie te same mechanizmy lub skorzystac z kompozycji (detale kawalek dalej).
Natomiast DDD nie oznacza koniecznie rozdzielenia encji od obiektow domenowych w takim sensie ze to musza byc osobne klasy. Glownym postulatem jest nie pozwolenie na sytuacje gdzie model bazy danych narzuca strukture klasom. W kodzie nalezy modelowac domene tak jak
  • Odpowiedz
Hibernate 5 - przewodnik po zastosowaniu
Architektura mikroserwisów z wykorzystaniem Spring Cloud
Programowanie reaktywne ze Spring WebFlux
Docker - Docker Compose - Docker Swarm
GIT i GitHub - praktycznie programistów i przyszłych programistów Java
Spring Boot + Angular na Google Cloud Platform
SoftBull - Hibernate 5 - przewodnik po zastosowaniu
 Architektura mikroserwisów z wy...

źródło: comment_1589098751mjX0PZ3s4YnD0MwdpdEcUq.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki potrzebna porada.

Mam w aplikacji encje User która zawiera pole typu Address(które zawiera sobie elementy specyficzne dla adresu jak miasto, ulicę itp). Wszystko to okraszone relacją @OneToOne:

@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wafel93: dwa osobne mechanizmy? Izolacja transakcji to jedno, a lockowanie zasobów to inna sprawa. Jasne, są przypadki, w których odpowiednia izolacja powoduje, że lockowanie czegokolwiek ma sens, ale to tylko przypadki, a nie reguła.

Analogicznie mógłbyś zapytać, po co w samochodzie hamulce oraz ręczny, jeśli CZASEM udałoby się z użyciem każdego z nich osiągnąć ten sam cel.
  • Odpowiedz
Programistyczne świry ( ͡° ͜ʖ ͡°) przenoszę encje do drugiego projektu, na którego straży jest Hibernate. I problem jest taki, że sporo jest nazw zmiennych typu "perfectUser" w Encji, gdzie Hibernate traktuje to jako "perfect_user" a w bazie jest "perfectuser" (w projekcie w którym encje były używane był Eclipselink i on miał to w nosie). Oczywiście teraz Hibernate mi wrzeszczy, że nie ma takich kolumn. Czy znacie sposób
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #java #hibernate #jasperreports #jaspersoft

Cześć Mirki, czy instalował z was ktoś Jasper Reports Server z WAR na tomcat? Próbowałem według dokumentacji to zrobić przy użyciu js-install-ce.bat ale nie ma nigdzie konfiguracji na bazę danych SQL Server. Skopiowałem sobie także sam WAR to webapps i stworzyłem plik hibernate.properties z parametrami połączenia z bazą ale dostaje coś takiego:

"Error creating bean with name 'sessionFactory'
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Prosze napiscie mi jaką ksiązke do Spring + Hibernate polecacie kupić zeby się nauczyc od postaw do powiedzmy poziomu średniego ogarniania, bo w necie jest tyle stronek, toutoriali i kursów, każdy mówi co innego, jedne są nowsze inne starsze i to wszystko jest tak nieustandaryzowane że w życiu się nic nie naucze i mi głowa peknie.

Spring w akcji bedzie dobry? #spring #hibernate #sql #java
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #programowanie #hibernate #spring
Czy Hibernate zawsze robi automatyczny update pobranych Encji - jeśli tak, to kiedy zamyka sesję?
Czy robi różnice czy pobieram je bezpośrednio poprzez np. EntityManager a automatycznie wygenerowane repozytoria?
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wafel93: No wlasnie tak srednio. EntityManager flushuje kiedy uzna to za stosowne, wiec wszystkie zmiany od ostatniego flusha do konca przetwarzania requesta teoretycznie moga zostac stracone (interceptor nie flushuje niczego na koncu xD).
  • Odpowiedz
hej, pobieram sobie z bazy danych obiekt i zwracam go jako jsona, mam taką funkcję w kontrolerze:
@ GetMapping(value="/{employeeId}", produces = MediaType.APPLICATIONJSONVALUE)
@ ResponseStatus(HttpStatus.OK)
public ResponseEntitygetEmployee(@PathVariable(value="employeeId") int employeeId){
return new ResponseEntity<>(employeeQueryService.getEmployee(employeeId),
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

hej, mam klasę User oznaczoną jako @ entity, wewnątrz tej klasy jest kilka pól i m.in. dwie listy dat Listdates,
wysyłam od klienta jsona wewnątrz, którego jest id_usera i tablice dat, potrzebuję zdeserializować go.
chciałbym żeby dla tego konkretnego użytkownika o podanym id została zaktualizowana/dodana zawartość List poprzez wypełnienie jej wartościami pobranymi z jsona, przy nienaruszaniu pozostałych pól klasy, bazy

jak mogę to zrobić? z czego mogę skorzystać? za każdą wskazówkę dziękuję.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach