Specyfikacja JPA
(Java Persistence API) ma 2 różne sposoby określania kluczy złożonych encji: @IdClass
i @EmbeddedId
.
Używam obu adnotacji na moich mapowanych obiektach, ale okazuje się, że jest to duży bałagan dla osób, które nie są zbyt dobrze zaznajomione JPA
.
Chcę przyjąć tylko jeden sposób określania kluczy złożonych. Który z nich jest naprawdę najlepszy? Czemu?
@IdClass
chociaż wolę@EmbeddedId
w większości sytuacji (poznali ten z sesji Antonio Goncalves .Co zasugerował to możemy użyć@IdClass
w przypadku kompozytu Klasa klucza jest niedostępna lub pochodzi z innego modułu lub starszego kodu, w którym nie możemy dodać adnotacji. W tych scenariuszach@IdClass
da nam sposób nasz.