Повторный столбец в отображении для сущности в однонаправленном отображении @OneToOne - PullRequest
0 голосов
/ 05 марта 2019

Рассмотрим следующую структуру базы данных

Мне нужно реализовать однонаправленное отображение один в один , подобное этому (структура упрощена):

@Entity
@Table(name = "entity")
public class Customer {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    @OneToOne
    @JoinColumn(name = "customer_info", nullable = false)
    private CustomerInfo customerInfo;

    @OneToOne
    @JoinColumn(name = "customer_credentials", nullable = false)
    private CustomerCredentials customerCredentials;

    //  getter, setters etc
}

@Entity
@Table(name = "customer_info")
public class CustomerInfo {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    //  getter, setters etc
}

@Entity
@Table(name = "customer_credentials")
public class CustomerCredentials {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    //  getter, setters etc
}

Но каким-то образом hibernate не в состоянии различить, что эти объединения из разных таблиц, и выдает такую ​​ошибку:

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: com.example.Customer column: customer_id (should be mapped with insert="false" update="false")

Важное замечание : я не хочу использовать @OneToOne(mappedBy = "customer")потому что мне нужна функция каскадного сохранения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...