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 如何在hibernate POJO中映射公共字段?_Java_Hibernate_Jakarta Ee_Orm_Postgresql 9.4 - Fatal编程技术网

Java 如何在hibernate POJO中映射公共字段?

Java 如何在hibernate POJO中映射公共字段?,java,hibernate,jakarta-ee,orm,postgresql-9.4,Java,Hibernate,Jakarta Ee,Orm,Postgresql 9.4,每个表中都有一些公共字段,因此我需要一个hibernate POJO并从中扩展: public class BaseClass { @Column(name="isActive") private Boolean isActive; public BaseClass() { isActive = true; } // Getter and Setter } .... @Entity @Table(name = "ABC", schema = "ABC

每个表中都有一些公共字段,因此我需要一个hibernate POJO并从中扩展:

public class BaseClass {
   @Column(name="isActive")
   private Boolean isActive;

   public BaseClass() {
      isActive = true;
   }
   // Getter and Setter
}

....
@Entity
@Table(name = "ABC", schema = "ABC")
@SequenceGenerator(name = "ABC_seq", sequenceName = "ABC_seq", schema = "ABC", allocationSize = 1)
public class SubClass extends BaseClass {
  @Id
  // Other stuff here
  public SubClass() {
    super();
  }
}
到目前为止,子类仍然有效,但isActives setter的更改对我的数据库(Postgres)没有任何影响。 将基类标记为@Entity也没有任何效果。
我的解决方案与这里的另一个类似。

基类必须用MappedSuperclass注释。HIbernate提供了3种策略,您可以实现这些策略来将子类映射到superclass,请看这里@JB nize谢谢,它适合我。在阅读一些google搜索结果时,我认为MappedSuperclass只适用于id为(主键)的类。我真丢脸:/