Отображение списка дочерних объектов в JPA - один ко многим

Я разрабатываю свое первое приложение с использованием JPA. Там у меня есть требование, чтобы родительский объект имел список дочерних объектов, и этот список отдельно не заносится в его таблицу.

Вот мои сущности.

Нежный:-

@Entity
@Table(name = "tender")
public class Tender {

    @Id
    @Column(name = "tender_id", unique = true, nullable = false)
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @Column(name = "name")
    private String name;

    @Column(name = "description")
    private String description;

    // what are the annotations here?
    private List<TenderAddress> addresses;

    // constructors

    // getters ans setters

}

TenderAddress: -

@Entity
@Table(name = "tender_address")
public class TenderAddress {

    @Id
    @Column(name = "id", unique = true, nullable = false)
    @GeneratedValue
    private long id;

    // what are the annotations here?
    private Tender tender;

    @Column(name = "address", nullable = false)
    private String address;

    // constructors 

    //getters and setters

}

Я устанавливаю адреса для объекта тендера, используя метод определения тендера. Так я сохраняю объекты Tender в базе данных. Я использую менеджер сущностей для этого.

@Transactional
public Tender saveNewTender(Tender tender) {            
        entityManager.persist(tender);

        entityManager.flush();

        return tender;
}

Что мне нужно, это сохранить объект Address одновременно и таблицу адресов, чтобы иметь ссылку на объект тендера, который инкапсулирует конкретный адрес.

Я попытался с двунаправленным сопоставлением один ко многим, используя @JoinColumn а также @OneToMany(mappedBy="tender", cascade = CascadeType.ALL), Но он пометил ссылочный столбец как NULL(поле идентификатора тендера в таблице адресов)

Теперь мой вопрос: мое требование действительно? Должен ли я сначала сохранить объект тендера и взять его идентификатор, а затем сохранить объект Address?

Если мое требование действительно, как я могу выполнить его? Что вы можете порекомендовать мне? Пожалуйста, предоставьте мне аннотации, которые мне нужны в моих организациях.

0 ответов

Другие вопросы по тегам