【发布时间】:2022-01-22 18:42:00
【问题描述】:
我有以下 2 个Hiberante 实体:
Person
Animal
它们具有共享字段/列,例如:name, age 等,但是每个主键 id 字段的名称不同,例如有person_id和animal_id
@Entity
@Table(name = "person")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Person{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonProperty
@Column(name = "person_id")
private Integer person_id;
// all below fields are generic in all the entities
@JsonProperty
@Column(name = "name")
private String name;
@JsonProperty
@Column(name = "age")
private String age;
}
有没有一种方法可以创建一个基础实体超类来保存这些通用 name, age 等字段,然后让 Person、Animal 和任何新实体扩展这个超实体?
请注意,超类没有自己的表,所以我不确定@Table 的值是什么?
我也有主键没有被命名的问题,例如id 所以必须在每个实体中具体指定它们。
【问题讨论】:
标签: java hibernate inheritance superclass