Adnotacja do encji w springu

0

Witam potrzebuje rozwiązać pewien problem. Napisałem program do zapisu mieszkań na wynajem. Stworzyłem encje w springu o podanych parametrach:

 @Id
    private String name;
    private String location;
    private Float price;
    private Float surface;
    private LocalDate startDate;
    private LocalDate finishDate;

Muszę stworzyć bazę, która dodaje nowy zapis na wynajem jeżeli dane mieszkanie w danym terminie jest wolne.Jeżeli mieszkanie jest zajęte to nowa rezerwacja nie jest dozwolona. Jest może jakaś adnotacja która sprawdzi czy jeżeli name istnieje już w bazie to czy w tym momencie jest już zarezerwowany, jeżeli tak to nie doda nowej rezerwacji w bazie. Na upartego można iterować po kolekcji w bazie i porownać, jednak jestem pewien że są jakieś adnotacje w springu które zrobią to za mnie. Dzięki za pomoc

1
  1. Twój przykład jednej encji jest dalece niekompletny

  2. Śmieszne jest spodziewanie się adnotacji do sprawdzania. To jakieś myślenie magiczne, voo-doo by @jarekr000000

  3. Prawie na pewno pojawią się inne encje (Twój niekompletny zamysł wydaje się d/d). W stosunku do tego, drobiazg: masz złe typy w tej deklaracji

  4. Musisz napisać kod, przykre, ale prawdziwe.

  5. Na tym etapie Twojej znajomości Javy nie zajmuj się springiem, ani JPA. Zrobisz sobie krzywdę. Ucz się racjonalnie projektować i kodować w "zwykłej" Javie tj SE

  6. Widzę po tobie, nie masz szans skończyć tego projektu. Mocne chcenie nie wystarczy.

4

Widze same czuby na tym forum, pozdrawiam i życzę wesołych świąt. Temat do zamknięcia

1
  1. Co ma w ogóle Spring do tego? Przecież to jakieś adnotacje z JPA o_O
  2. Możesz sobie adnotacjami dodać jakieś unique constraint, ale to jest słaby plan, bo zwykle biznesowe przypadki są dużo bardziej złożone i nie da się ich ogarnać w taki prosty sposób -> konieczne będzie napisanie kodu, który sprawdzi warunki.
0

Kojarzę tylko 2 opcje (jak ktoś coś więcej kojarzy to poproszę w komentarzu, bo za rzadko miałem taki usecase żeby wczytać się w jakieś inne możliwości):

  1. unique constraint na polu w tabeli, wtedy przy próbie zapisu dostaniesz exception, które dość nieprzyjemnie się łapie więc skłaniałbym się ku sposobowi 2. połączonym ze opcją 1. (dla bezpieczeństwa)
  2. query do bazy żeby sprawdzić czy taka nazwa już istnieje - łatwiej ogarnąć to bez exceptionów i opakować to sobie w jakiś ładny error dla usera

Ja rozumiem, że niektóre osoby muszą sobie ponarzekać i pośmiać się z początkujących ale fajnie gdybyście się nie odzywali jeśli nie macie zamiaru jakkolwiek pytającego naprowadzić lub mu pomóc (szczególnie prośba do @AnyKtokolwiek bo sporo twoich postów jest ignoranckich i nie na temat, które powinny co najmniej lądować w komentarzach (jak nie w koszu))

1 użytkowników online, w tym zalogowanych: 0, gości: 1