jak zapewnić unikatowość na DB JpaRepository

0

kod źródłowy do zagadnienia:
https://gist.github.com/waldemarGr/3663b48756eb73d47220293f2685003e
Spring boot jpaRepository

Mam problem z duplikatami przy imlementacji JpaRepository.

• Istnieje encja Book która jako pole posiada zmienną(encje) klasy WordsInBook
• Encja WordsInBook posiada pole(encje) klasy English
• Encja English posiada dwa znaczące pola których kombinacja powinna zapewnić unikatowość PartOfSpeach partOfSpeach(enum) i String word

Czyli mamy następujące zależnośći: Book<-WordsInBooks<-English<- word + partOfSpeach

w RunAtStart.java w wierszu 48 wykonuje save na bookRepository który implementuje interfejs JpaRepository
przy wykonaniu save na bookRepository każda z encji zapisuje się poprawnie. Czyli save powodujer zaspis Book <-WordsInBooks<-English<- word + partOfSpeach.
Pytanie jak przygotować repozytorium/encje aby obsługiwać duplikaty ( zgodnie z zamyłem poniżej)?
W RunAtStart.java w wierszu 64 ponownie dokonuje zapisu. Obiekt nadrzędny Book został zmodyfikowany(nowy obiekt) lecz obiekty English są takie same. Czyli 2 różne książki posiadają ten sam zestaw słów. Chcę doprowadzić aby druga książka dostała id na bazie danych ( referencje do English) już istniejących obiektów na bazie danych. Unikalność Obiektów English mają wynikać z dwóch pól word + partOfSpeach
Na ten moment zgaduję że można posłużyć się indexem z tych pól lecz nie wiem jak to poprawnie zaimplementować.
English.java wiersz 11
@Entity
@Table(indexes = { @Index(name = "IDX_MYIDX1", columnList = "word,partOfSpeach" ) })
public class English implements Word {
Proszę o wskazówkę jak zapewnić unikatowość obiektów na baize danych.

0

Powyższy link nie działa poprawnie
poniżej jest ok:
https://gist.github.com/waldemarGr/3663b48756eb73d47220293f2685003e

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