наследование jpa - повторно использовать сущность в нескольких других

1

Я новичок в 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?

Я искал в Интернете, чтобы найти решение. Но, скорее всего, к моему недостатку знаний. Я не мог найти ничего понятного.

Теги:
jpa
entity
reusability

1 ответ

2

На самом деле нет необходимости делать все отношения двунаправленными, лучше всего предпочитать однонаправленные отношения в модели, когда это возможно, см. " Быстрое развитие домена".

В этом случае Address не нужно знать обо всех объектах, с которыми он связан. Также подумайте над тем, чтобы сделать адрес Объектом Value (см. DDD быстро) с @Embeddable аннотации @Embeddable.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню