【发布时间】:2010-02-16 17:06:22
【问题描述】:
我想覆盖休眠验证器中的约束。这是我的基类:
@Entity
@Table(name = "Value")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "valueType", discriminatorType = DiscriminatorType.STRING)
public abstract class Value extends CommonTable
{
private String equation;
@SimpleEquation(equationType = EquationType.EQUATION)
public String getEquation()
{
return equation;
}
public void setEquation(String equation)
{
this.equation = equation;
}
}
我有一个子类,我想在其中指定方程式字段的 equationType 是 EquationType.ANOTHER_EQUATION,如下所示:
@Entity(name = "CharacteristicUpgradeValue")
@DiscriminatorValue("CharacteristicUpgradeValue")
public class CharacteristicUpgradeValue extends Value
{
@Override
@SimpleEquation(equationType = EquationType.COST_VALUE)
public String getEquation()
{
return super.getEquation();
}
}
这段代码抛出一个异常,说我有一个 org.hibernate.MappingException: Repeated column in mapping for entity(正常,由于重复的 getter)
在 Hibernate/jpa 中有一个 @AttributeOverride 但它似乎只使用列覆盖而不是这种属性运行。
我该怎么做?
谢谢
【问题讨论】:
标签: hibernate annotations overriding hibernate-validator