@victordeleco2: w obu przypadkach to zależy z czego korzystasz. Zależy, czy w serwisie masz jakąś dodatkową logikę, a samą modyfikację obiektu możesz zrobić co najmniej na 3 sposoby z samym spring data.
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 tak:

private static Specification buildUserSpecififcation(
Attributes searchAttributes) {
return (Specification)
(root, query, criteriaBuilder) -> {
List predicates = new ArrayList<>();
Hej, korzystał ktoś z was z Hibernate Envers? Potrzebuje otrzymać coś takiego:

Mebel
- imie
- nazwa
- lokalizacjateraz

i potrzebuję jakoś zaimplementować to żebym mógł sobie przenieść taki mebel i żeby "zaplanowana lokalizacja" się gdzieś zapisała (tak żebym w gui mógł to pokazać jako strzałka z lokalizacja
teraz do zaplanowanej lokalizacji. Czy to Envers się nada? Chyba że jest lepsze wyjście? Mam zrobić jakąś encję Connection z OneToOne do mebla
Pobierz
źródło: comment_1603919262MQblo3VxSBkgQqxUe4lCRD.jpg
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 :/
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
Hej mirki potrzebna mi pomoc w modelu w #java #spring #hibernate

mam dwie klasy

@Data
@NoArgsConstructor
@Entity
public class Attribute{
@Id
private Integer id;
private String name;
private Byte weekdays;
`
``` @OneToMany```
@JoinColumn(name = "timeperiodid")
``` private List timePeriod;```
}

i

```@Data```
@NoArgsConstructor
```@Entity```
@IdClass(TimePeriodKey.class)
```public class TimePeriod{```
@Id
``` private Integer id;```
@Id
``` private Integer index;```
@DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
``` @JsonFormat(shape = JsonFormat.Shape.STRING)```
@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ć.
#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 robicie przy wdrożeniu?
1. Pozwalacie aby Hibernate sam sobie naniósł zmiany?
2. Używacie Liquibase i przygotowujecie odpowiedni changeset?
3. Używacie FlyBase i przygotowujecie odpowiedni changeset?
4. Ręcznie piszecie SQL-ki, żeby dostosować schemat bazy na produkcji?
5.

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

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
@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.
5.
@Bulldogjob: Cześć dzisiaj #pracbaza dla programistów Java!

Łódź
Java Architect / IDEMIA / 9-14.5K PLN
Regular Java Developer (DLM) / Commerzbank - Centrum Technologii Cyfrowych w Polsce
Digital Architect / Commerzbank - Centrum Technologii Cyfrowych w Polsce
Architect / Commerzbank - Centrum Technologii Cyfrowych w Polsce
Java Developer / Asseco Poland S.A.
Regular Java Developer / Altar Sp. z o.o / 5-10K PLN
Java Developer CDM / Commerzbank - Centrum Technologii
Pobierz
źródło: comment_16014591140do97RTUXMVHUqPAS16Kij.jpg
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 -> poza id, name itp ma kolekcję VisitEntity (mapowanie OneToMany).

Po odczytaniu z bazy chce te dane przekonwertować na obiekty domenowe Visit i Doctor i na nich oprzeć całą logikę. Jednak teraz
@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 ;)
@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 jest
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
To szkolenia online jakie realizuje w najbliższym czasie w ramach majowego festiwalu szkoleniowego! Więcej informacji:
https://bykowski.pl/majowy-festiwal-szkolen-lista-otwartych-szkolen/
Na hasło wykop - 10% zniżki! Enjoy :)
Będzie się działo!

#programowanie #programista15k #
Pobierz
źródło: comment_1589098751mjX0PZ3s4YnD0MwdpdEcUq.jpg
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 Address address;

Mam w kontrolerze metodę do aktualizacji encji User która:
- pobiera encję za pomocą jpa repository
- aktualizuje poszczególne pola (w zależności co przyjdzie w DTO)
- zapisuje z powrotem do bazy metodą save
@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.
via Wykop Mobilny (Android)
  • 15
Cześć Javowe świry :) wydałem właśnie nowy tool, który pozwala na konstruowanie natywnych zapytań SQL przy użyciu Encji JPA i API napisanego w Javie:

https://github.com/eXsio/querydsl-entityql

Może to być ratunek dla osób, które są zmuszone do pisania Native Query w Stringach, bo JPA czegoś tam nie obsługuje.

Jeżeli uznacie że jest to coś, co mogłoby wam pomóc w pracy, zostawcie gwiazdkę na GH dla motywacji :)

#java #hibernate #jpa #sql #programowanie i trochę
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
#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' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to