使用TABLE_PER_CLASS继承时,有没有办法覆盖列名?
医生说:
"这种方法的局限性在于,如果属性映射到超类,则所有子类表上的列名必须相同。" :(
@AttributeOverride不起作用
示例:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Parent {
@Id
String id;
String parentProperty;
}
@Entity
public class Child extends Parent {
}
和一些示例查询
entityManager.createQuery("select p.parentProperty from Parent p", String.class).getResultList()
产生
select
parent0_.parentProperty as col_0_0_
from
( select
id,
parentProperty,
1 as clazz_
from
Child ) parent0_
有没有办法强制Hibernate在子子查询中使用一些自定义属性名?问题是我有一些遗留数据库,其中几个表包含相同的数据,但有些列名不同......
编辑:我最终得到了包含重命名列名的视图