Nie widzę żadnej różnicy w schemacie wiele-do-jednego związku vs relacji OneToOne:Hibernate ManyToOne vs OneToOne
@Entity
public class Order {
@ManyToOne
@JoinColumn(nullable = false)
private Address address;
vs
@Entity
public class Order {
@OneToOne
@JoinColumn(nullable = false)
private Address address;
Czy jest jakaś różnica?
Więc powinienem mieć się dobrze przełączać między tymi dwoma mapowaniami? –
Co masz na myśli mówiąc "przełącz się między dwoma mapowaniami"? Jeśli masz istniejący schemat bazy danych i zdecydujesz się zmienić adnotacje mapowania w aplikacji, możesz to zrobić bez zmiany schematu (z @OneToOne na @ManyToOne). W inny sposób możesz to zrobić, ale możesz mieć problem z danymi. – paulek
Dla każdego, kto czyta post paulek w przyszłości: Twoje uprawnienia muszą być _just so_, aby uzyskać ten błąd. Jeśli masz tylko relacje jednokierunkowe, ten błąd nie pojawi się. Jeśli masz relacje dwukierunkowe, tylko zaznaczenie w adresach z łączeniem pobierającym zamówienia spowoduje wygenerowanie tego błędu. –