Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何重写@MappedSuperclass子类中的参数_Java_Hibernate_Mappedsuperclass - Fatal编程技术网

Java 如何重写@MappedSuperclass子类中的参数

Java 如何重写@MappedSuperclass子类中的参数,java,hibernate,mappedsuperclass,Java,Hibernate,Mappedsuperclass,我有一个映射超类 @MappedSuperclass public class A{ . . . @Column(name="something") public getSomething(){..}; public setSomething(){..}; } 我想重写子类中的something @Entity public class B{ @Override public getSomething(){..}; } 但是获取

我有一个映射超类

@MappedSuperclass
public class A{
    .
    .
    .
    @Column(name="something")
    public getSomething(){..};
    public setSomething(){..};
}
我想重写子类中的
something

@Entity
public class B{
    @Override
    public getSomething(){..};
}
但是获取
的原因是:org.hibernate.MappingException:找到的数据的重复属性映射
异常

我尝试了不同的方法,比如“@AttributeOverride”注释,但没有效果


我知道的唯一解决方案是在mappedSuperclass中使
某些东西
暂时化。但我不希望它在这里是暂时的(因为还有另一个子类不想覆盖
某个东西,但希望它是暂时的)

我想到了两个解决方案:一个是可能打破这个超类并使用Emmbeddeds创建您想要的层次结构。但是,如果您想坚持这种方法,我认为您需要在子类中同时使用以下属性和方法进行重写:

@Entity
public class B {

    @AttributeOverride(name = "fred", column = @Column(name = "FRED"))
    private Integer fred;

    @Override
    public Integer getFred() {return fred;}
}