命名通用字段的@JoinColumn和@JsonProperty

时间:2018-10-29 15:54:36

标签: hibernate jpa inheritance spring-data-jpa fasterxml

假设我有一个抽象父母:

@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)来说,完全一样是很好的。

0 个答案:

没有答案