小编mrv*_*ddy的帖子

Hibernate Transient Extends 问题

@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() 上存在的瞬态注释......并且不应该在数据库中创建列...... …

java orm hibernate jpa

3
推荐指数
1
解决办法
3524
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

orm ×1