在子类中绑定实际列名:可能吗?

时间:2015-07-22 11:40:45

标签: hibernate jpa

我有几个表共享n列,所以我认为最好的策略是使用InheritanceType = TABLE_PER_CLASS创建一个抽象类。 问题是,即使列完全相同,它们也可以使用不同的名称。

例如:

tcsetattr

列是相同的,类型是相同的..但名称是不同的! 那么,有没有办法定义一个抽象的父类:

T1
--name varchar(100)
--surname varchar(50)

T2
--person_name varchar(100)
--person_surname varchar(100)

然后,在子实体内部,指定实际的列名?

1 个答案:

答案 0 :(得分:1)

您需要将以下内容添加到子实体:

@AttributeOverrides({
    @AttributeOverride(name="name", column=@Column(name="person_name")),
    @AttributeOverride(name="surname", column=@Column(name="person_surname"))
})