Я получил следующие 2 класса:
@Entity
@Table(name="questions")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="is_sponsered")
@SequenceGenerator(name="id_seq")
public class Question {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="id_seq")
protected int id;
@Column(name="is_sponsered",nullable=false)
protected boolean sponsered=false;
....}
и подкласс:
@Entity
@DiscriminatorValue("true")
public class SP extends Question{
public SP(String q)
{
super(q);
this.sponsered=true;
}
Однако я получаю следующую ошибку:
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: SP column: is_sponsered
Из того, что я понял, inserttable = false и updatble = false часто используются, когда у нас есть отношение OneToMany.В этом случае это просто наследство.При добавлении inserttabl = false, updtable = false в столбец, созданный в классе Question, ошибка не появляется.Я хотел понять, почему ..