Именование @JoinColumn и @JsonProperty общего поля - PullRequest
0 голосов
/ 29 октября 2018

Предположим, у меня есть абстрактный родитель:

@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).

...