我有几个表共享n列,所以我认为最好的策略是使用InheritanceType = TABLE_PER_CLASS创建一个抽象类。 问题是,即使列完全相同,它们也可以使用不同的名称。
例如:
tcsetattr
列是相同的,类型是相同的..但名称是不同的! 那么,有没有办法定义一个抽象的父类:
T1
--name varchar(100)
--surname varchar(50)
T2
--person_name varchar(100)
--person_surname varchar(100)
然后,在子实体内部,指定实际的列名?
答案 0 :(得分:1)
您需要将以下内容添加到子实体:
@AttributeOverrides({
@AttributeOverride(name="name", column=@Column(name="person_name")),
@AttributeOverride(name="surname", column=@Column(name="person_surname"))
})