2017-02-06 3 views
-1
I have a problem with my mapping OneToMany. My exception is 

org.hibernate.MappingException: Повторная колонки в отображениях для объекта: колонки com.lcdut.model.SubjectsModel: группы (должно быть сопоставлен со вставкой =» ложь»обновление =„ложь“)Повторного столбец в отображении для лица с @ManyToOne аннотацией и другой referencedColumnName

@Entity 
@Table(name = "subjects") 
public class SubjectsModel { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private int id; 
    @Column(name = "groups") 
    private int groups; 
    ........... 
    @ManyToOne 
    @JoinColumns({ 
     @JoinColumn(name="groups", referencedColumnName="id_group") 
    }) 
    private StudentsModel studentsModel; 
    ........ 
} 

@Entity 
@Table(name = "students") 
public class StudentsModel{ 
    @Id 
    @Column(name = "id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int id; 
    @Basic 
    @Column(name = "pib") 
    private String pib; 
    @Basic 
    @Column(name = "id_group") 
    ........ 
    @OneToMany(mappedBy = "studentsModel") 
    private Set<SubjectsModel> subjects; 
} 

ответ

-1

Вы сказали Hibernate, что значение для столбца groups исходит как от примитивной собственности groups, а также реляционных отображений studentsModel. Это незаконно, и только одно может повлиять на ценность.

Вам необходимо либо указать groups отображение как:

@Column(name = "groups", insertable = false, updatable = false) 

или вы можете указать, что studentsModel является:

@JoinColumn(
    name = "groups", 
    referencedColumnName = "id_group", 
    insertable = false, 
    updatable = false 
) 

или, наконец, удалить примитивного свойства и влияние на значение исключительно через реляционные @ManyToOne, не изменяя ваши аннотации.

+0

Затем у меня есть ошибки, я попробовал это раньше ((( –

+0

). Тогда что-то происходит неправильно, потому что если вы собираетесь сопоставить один и тот же столбец с несколькими сопоставлениями в сущности, вы можете только один из них повлиять на вставку/update settings. – Naros

+0

Ссылка на этот ответ, поскольку он точно такой же, как и мой, по тому же вопросу: http://stackoverflow.com/a/42076333/1572269 – Naros

 Смежные вопросы

  • Нет связанных вопросов^_^