Plik Liquibase powinien zawierać:

- id: 09-proparty-schema

- author: uzupełnij swoim imieniem

- tableName: property

- informacja o nazwie pola, typie pola, wartości nullable:

-- id, uuid, false

-- city, text, false

-- post_code, text, false

-- street, text, false

-- house, text, true

-- room, numeric, false

-- single, boolean, false

-- user_id, uuid, false - w tym przypadku dochodzi jeszcze wartość: foreignKeyName: fk_user_id_property i reference: users(id), przykład jest w pliku 007-expensesSchema.yaml

 

Pamiętaj o dodaniu nowego pliku do db.changelog-master.yaml

 

Test PropertyServiceIntegrationTest powinien sprawdzać czy wynik zwracany z ProperyService nie jest null- metoda addProperty, powinna zwracać id encji - UUID - jako że ten identyfikator jest tworzony automatycznie, podczas zapisu do bazy danych, można sądzić, że jego obecność jest jednoznaczna z poprawnym utworzeniem wpisu do bazy danych.

 

W InitIntegrationTestData trzeba dodać nowe rzeczy:

- pola:

-- ProperyService

-- ProperyRepository

 

Dla Klas PropertyDto i PropertyEntity stwórz:

- gettery i settery

- konstruktory sparametryzowany - wszystkie pola i bezparametrowy

- equals i hashCode + toString

-- rooms i single możesz pominąć podczas generowania equals i hashCode, te wartości mogą się zmieniać - ktoś może dostawić ściankę działową i podzielić jeden pokój na dwa

 

- przy Encji możesz skopiować adnotację z już istniejącej klasy, np.: AssetEnity, pamiętaj o zmianie nazwy tabelki

W klasie PropertyService:

 

- powinna występować jedna metoda: addProperty(PropertyDto)

- metoda powinna wywoływać: propertyRepository.save(propartyEntity)

- Pamiętaj - chodzi tylko o prosty zapis do bazy danych, przygotowanie szkieletu pod implementację właściwą, więc przygotowanie obiektu i zapis do bazy powinny być jak najprostsze.

 

Rozszerzenie PropertyRepository, do wyboru, jeden z interfejsów:

- JpaRepository

- CrudRepository

19 Epik- Dostępne nieruchomości - I

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.