У меня есть два класса.Один класс расширяет другой.Оба класса будут сохранены в базе данных.Почему я все еще получаю: Причина: org.hibernate.MappingException: повторяющийся столбец в сопоставлении для сущности: com.ct.www.model.Bt column: q_Id (должен отображаться с помощью insert = "false" update = "false")
Questions.class
@Entity
@Table(name="Questions")
@Access(value = AccessType.FIELD)
public class Questions implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
//@Access(value= AccessType.FIELD)
private String q_Id;
@Column(name="q_type")
private String q_Type;
@Column(name="q_lang")
private String q_lang;
@Access(value = AccessType.PROPERTY)
public String getQ_Type() {
return q_Type;
}
public void setQ_Type(String q_Type) {
this.q_Type = q_Type;
}
@Id
@Column(name="q_Id")
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Access(value = AccessType.PROPERTY)
public String getQ_Id() {
return q_Id;
}
public void setQ_Id(String q_Id) {
this.q_Id = q_Id;
}
@Access(value = AccessType.PROPERTY)
public String getQ_lang() {
return q_lang;
}
public void setQ_lang(String q_lang) {
this.q_lang = q_lang;
}
}
BT.class
@Entity
@Table(name="BT")
@Access(value = AccessType.FIELD)
public class BT extends Questions implements Serializable{
private static final long serialVersionUID = 1L;
@Access(value = AccessType.FIELD)
// @Id
// @Column(name="q_Id")
private String q_Id;
@Access(value = AccessType.PROPERTY)
public String getQ_Id() {
return q_Id;
}
public void setQ_Id(String q_Id) {
this.q_Id = q_Id;
}
// @OneToOne(cascade = CascadeType.ALL)
// @PrimaryKeyJoinColumn
// @JoinColumn(name="q_id")
// @MapsId
private Questions question;
public Questions getQuestion() {
return question;
}
public void setQuestion(Questions question) {
this.question = question;
}
}
Один из моих вариантов использования - это Вопросы, и BT будет сохранен отдельно в соответствующих таблицах в MySQL (Вопросыстол и стол БТ).BT это тип Вопроса.Поэтому я решил расширить его.Обе таблицы имеют первичный ключ Id, и мой класс DAO сначала будет вставлен в таблицу вопросов и будет использовать тот же Id для класса BT, который позже будет вставлен в таблицу BT.