我正在与Spring Boot,Spring JPA一起工作,并且有以下问题:我创建了一些" B"类" B"类"从Jar中扩展了一些" A"从JAR中扩展了"从JAR中",将@Entity
和@Table
注释在类上"b"(我在类" A"上不能做同样的事情),但是当Spring/Hibernate创建表时,仅包括" B"类的字段。
// some class from JAR
// not an Entity
class A {
String fieldA;
}
@Entity
@Table(name = "B")
class B extends A {
String fieldB;
}
在数据库中创建的表
+--------+ +--------+--------+
| fieldB | but I want this to be made | fieldA | fieldB |
+--------+ +--------+--------+
如何管理?是否有一些可以在B级上放置的JPA注释可以解决此问题?
edit :如果@AttributeOverride
是解决方案,则如何将Overriden字段标记为Id
当@Id
注释不能放在课堂外面?
您可以在Getter上设置@Id
。
@Entity
@Table(name = "B")
class B extends A {
String fieldB;
@Id
@Override
public String getFieldA() {
return super.getFieldA();
}
}