假设我有一个抽象父母:
@MappedSuperclass
public abstract class State {
@Id
private Integer id;
private String humanReadableName;
}
和另一个类似的东西:
@MappedSuperclass
public abstract class StateHistory<S extends State> {
@Id
private Long id;
private Long timestamp;
@ManyToOne
// @JoinColumn(name = <something related to the S, like S.class.getSimpleName()_id would be nice>)
private S state;
}
我现在可以定义:
@Entity
class StateOneHistory extends StateHistory<StateOne>{}
但是,联接列固定为state_id
。所以我的问题是:有没有一种方法可以在示例中以表列的方式指定列名(@JoinColumn
),即使用继承类的真实名称?
对于json解析器(@JsonProperty
)来说,完全一样是很好的。