我很确定您不能将单个Java属性映射到三个不同的列。您将必须使用此:
@Entity@Table(name = "ParameterValue")@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "parameterType", discriminatorType = DiscriminatorType.STRING)public abstract class ParameterValue<C> { public abstract C getValue(); public abstract void setValue(C value);}@Entity@DiscriminatorValue(value = "integer")public class IntegerParameterValue extends ParameterValue<Integer> { @Column(name = "intValue") private Integer intValue; @Override public Integer getValue() { return intValue; } @Override public void setValue(Integer value) { this.intValue = value; }}


