Я новичок в jpa и удивляюсь, как я должен это осознавать. Я хочу использовать Entity, называемый Address, в нескольких других Entity.
Автомобиль:
@Entity
public class Car
@Id
private String id;
private String licensePlate;
@ManyToOne
private Address address;
public Car() {
}
/* Getter and setters */
....
..
Лицо:
@Entity
public class Person {
@Id
private String id;
private String name;
@OneToMany(mappedBy = "address", cascade = CascadeType.ALL)
private Set<Address> addresses;
public Person() {
}
/* Getter and setters */
....
..
Объект адреса:
@Entity
public class Address {
@Id
private String id
private String streetAndNumber;
/* Now what?????? */
private Car car; // would fit for car
private Person person; // would fit for person
// But what would be fitted both?
Я искал в Интернете, чтобы найти решение. Но, скорее всего, к моему недостатку знаний. Я не мог найти ничего понятного.
На самом деле нет необходимости делать все отношения двунаправленными, лучше всего предпочитать однонаправленные отношения в модели, когда это возможно, см. " Быстрое развитие домена".
В этом случае Address не нужно знать обо всех объектах, с которыми он связан. Также подумайте над тем, чтобы сделать адрес Объектом Value (см. DDD быстро) с @Embeddable
аннотации @Embeddable
.