Как сопоставить одну таблицу нескольким таблицам в Hibernate? - PullRequest
0 голосов
/ 27 января 2020

У меня есть общая таблица 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;
}
...