У меня есть абстрактный класс, который сопоставляет столбец «год» переменной «год».
Один из моих подклассов также нуждается в той же самой переменной из того же столбца "год", но вместо этого его нужно назвать, например, "год создания". Как я могу это сделать?
У меня есть некоторые проблемы, так как я вообще не могу изменить состояние базы данных, и она ДРЕВНЯ, поскольку она восходит к 80-м годам ...
Именно поэтому в этом случае одна таблица содержит совершенно разные вещи, даже если они находятся только в одной таблице.
Так, например, одна строка в базе данных может определять автомобиль, и в этом случае год столбца должен быть виден как «год создания», а другая строка может определять взрыв, в этом случае тот же год столбца должен быть виден как «детонация». дата».
Я пытаюсь отобразить эту базу данных с помощью JPA и гибернации, чтобы я наконец смог определить, что к чему, мне просто нужна эта крошечная разница для завершения моего проекта, поэтому, если у кого-то есть решение, это было бы изумительно.
Вот пример кода для ответа на вопрос (не беспокойтесь о типах, они просто случайны):
//Mother class
@Entity
@Table(name = "MYTABLE")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="MY_COL_A", discriminatorType = DiscriminatorType.STRING)
public abstract class Mother implements Serializable {
private static final long serialVersionUID = 1L;
private String id, year;
@Id
@Column(name = "IDA")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Id
@Column(name = "MY_YEAR")
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
}
//Daughter class
@Entity(name="Sub")
@DiscriminatorValue("MY_VALUE")
public class Sub extends Mother implements Serializable {
private static final long serialVersionUID = 1.1L;
// What I would like to have
private String creationYear;
// code here to link creationYear to Mother.year
// so it is the same value at the end but with different name
}
Спасибо за помощь!
РЕДАКТИРОВАТЬ: Этот вопрос отличается от Этот вопрос , поскольку в этом вопросе программист должен иметь одинаковый идентификатор значения, указывающий на два разных столбца, в случае если идентификатор автомобиля указывает на столбец car_id и в случае мотоцикла идентификатор указывает на motorcycle_id.
Моя проблема заключается в том, чтобы в каждом классе было два поля с разными именами, указывающими на один и тот же столбец в базе данных,