三个类的关系是这样的: 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注解,也无需实现序列化接口