@MappedSuperclass
public abstract class BaseAbstract implements Serializable{
private static final long serialVersionUID = 1L;
protected String test = //some random value;
public String getTest() {
return test;
}
public void setTest(String test){
this.test = test;
}
}
@Entity
public class Artist extends BaseAbstract
{
private static final long serialVersionUID = 1L;
private Integer id;
@override
@Transient
public String getTest() {
return test;
}
.....
}
Run Code Online (Sandbox Code Playgroud)
我的问题是......当我试图对艺术家进行任何操作时,连同 id 和 name,测试也会被保存,这不应该是这种情况......
如果我在 baseabstract 类 getTest() 方法上添加相同的瞬态,我会看到测试列没有被创建(理想情况下应该发生什么)但是如果我尝试通过在子类中添加注释来覆盖该方法,它会创建测试列。 ..
我不知道为什么会发生这种情况,因为当 hibernate 创建艺术家对象并检查注释时,它应该看到艺术家方法的 getTest() 上存在的瞬态注释......并且不应该在数据库中创建列...... …