使用 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 在子子查询中使用一些自定义属性名称?问题是我有一些遗留数据库,其中包含几乎相同数据但一些列名不同的表......
编辑:我最终得到了包含重命名列名的视图