JPA - czy zabezpiecza w realcji OneToOne utrzymanie UniqueIndex w bazie dla kolumny relacji

0

Czy jeżeli mam relacje JPA OneToOne (jednokierunkową lub dwu) to JPA Provider zabezpiecza jakoś aby dla dwóch obiektów encji klasy 1 (owning) nie przypisać tego samego obiektu encji klasy 2? Czy jest to jakoś sprawdzane czy tez za spójność odpowiada tylko baza wyrzucając wyjątek ?

0

Jakieś info?

0

Jesli owned ma klucz obcy do ownera, to niejawnie nie jest to mozliwe.
Jesli jest to wiele do wielu, lub 1 do wielu, ale z tabela laczaca, to jest to mozliwe, i wtedy musisz miec unique na odpowiendich kolumnach, i rzucany jest constraint violation przez baze.
Skad hibernate ma wiedziec, ze jesli ty przypisujesz owning do ownera, to nie chcesz go po prostu zmienic? To jest normalny use case, i hb nie moze wiedziec o co ci chodzi.

0

Czyli dostanę Exception Javy wrapujące error łamania constrainta w bazie za każdym razem?

0

Jeżeli założysz unique constraint na bazie, to błąd będzie się pojawiał przy insert lub update.

0

Warto nadmienic, ze bedzie to blad podczas flush (ktory moze byc jednym z tych tutaj: http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/FlushMode.html). Twoja brocha zadbac o to, aby aplikacja przypisywala dane poprawnie, hibernate tego nie daje z automatu bo i jak?

0

Dzięki

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