Hibernate 继承的注解配置

 

三个类的关系是这样的: BaseObject <- Directory <- Directory

 

刚开始我在第二个Directory类(称Directory2)上配置@Entity,用Junit测试,报错:No identifier specified for entity: com.lmiky.cms.site.pojo.Directory

于是我给父类的Director(称Directory1)和 BaseObject上都配置@Entity,再用Junit测试,报错:Use of the same entity name twice: Directory

上网查了下,去掉Directory1和BaseObject的@Entity配置,改为@MappedSuperclass,再测试,运行正常,没有报错了。

 

 

标注为@MappedSuperclass的类将不是一个完整的实体类,他将不会映射到数据库表,但是他的属性都将映射到其子类的数据库字段中。

标注为@MappedSuperclass的类不能再标注@Entity或@Table注解,也无需实现序列化接口

你可能感兴趣的:(数据库,Hibernate,JUnit,测试,table)