У меня есть общая таблица Address
, которую я хотел бы сопоставить с несколькими другими таблицами, такими как Owner
, Customer
, Purchase Order
et c. Есть ли способ сделать это в Hibernate?
Текущий подход, который я использую, заключается в том, чтобы внедрить сущность Address
в другие таблицы, используя @Embeddable
с классом Address. Есть ли лучший способ сделать это?
Кроме того, я хотел бы каскадно удалить запись строки из таблицы адресов всякий раз, когда любая связанная строка в Customer
, Owner
et c удаляется.
Таблица адресов -
@Embeddable
@Data
public class Address{
.....
}
Таблица клиентов -
@Entity
@Data
public class Customer{
@Id
private Long id;
@Embedded
private Address address;
}
Таблица владельцев -
@Entity
@Data
public class Owner{
@Id
private Long id;
@Embedded
private Address address;
}