У меня 6 таблиц в базе: CarMaster, Audi, Toyota, Tata, Hyundai, Ford, Mapping
Таблица сопоставления имеет два столбца: mapId, tableName
Запись в таблице сопоставления будет выглядеть как «1, Audi», «2, Toyota» и т. Д. До «5, Ford»
Первичный ключ в первых пяти таблицах - carId.
Кроме того, в CarMaster есть столбец mapId, который при соединении с таблицей сопоставления даст имя таблицы. Затем его можно использовать для соединения ключа carId с соответствующей таблицей, чтобы можно было получить дополнительную информацию об автомобиле.
Например, скажем, carId равен 10 с mapId 3. mapId 3 означает Tata. Таким образом, дополнительная информация о carId 10 будет представлена в таблице Tata, и поэтому CarMaster и Tata будут объединены для получения более подробной информации.
Как отобразить этот сценарий в Hibernate? Каковы будут связи между шестью таблицами?
Я перечисляю POJO ниже, чтобы кто-то мог быстро помочь мне с аннотациями ассоциации без особого набора текста.
class CarMaster implements Serializable
{
@Id
@Column(name = "car_id")
private String carId;
@Column(name = "map_id")
private String mapId;
//other columns
}
class Audi implements Serializable
{
@Id
@Column(name = "car_id")
private String carId;
//other columns
}
class Toyota implements Serializable
{
@Id
@Column(name = "car_id")
private String carId;
//other columns
}
class Tata implements Serializable
{
@Id
@Column(name = "car_id")
private String carId;
//other columns
}
class Hyundai implements Serializable
{
@Id
@Column(name = "car_id")
private String carId;
//other columns
}
class Ford implements Serializable
{
@Id
@Column(name = "car_id")
private String carId;
//other columns
}
class Mapping implements Serializable
{
@Id
@Column(name = "map_id")
private String mapId;
@Column(name = "table_name")
private String tableName;
}
Спасибо за чтение !!