我想覆盖休眠验证器中的约束。这是我的基类:
@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,但它似乎只使用列覆盖而不是这种属性运行。
我该怎么做 ?
谢谢