Hibernate много ToOne FK не экономит - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь сохранить список экземпляров класса внутри родительского объекта с помощью hibernate. Дочерний экземпляр должен отображаться на родительский с помощью родительского идентификатора "CONTRACTID", который создается.

РОДИТЕЛЕЙ:

    @Id
    @Column(name = "CONTRACTID")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "id_Sequence")
    @SequenceGenerator(name = "id_Sequence", sequenceName = "ID_SEQ_CONTRACT")
    private Long contract_id;

, а затем

    @OneToMany(targetEntity = CustomerGroup.class, fetch = FetchType.LAZY, cascade = {CascadeType.ALL}, mappedBy = "contractId")
    private List<CustomerGroup> customerGroups;

РЕБЕНОК:

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "CONTRACTID", foreignKey=@ForeignKey(name="CONTRACTID_FK"))
    private ContractHolder contractId;

также пробовал без foreignKey=@ForeignKey(name="CONTRACTID_FK")

Я вижу в базе данных, что оба поля существуют, идентификатор родителя генерируется, как и ожидалось, в .save, но поле FK в CustomerGroup остается нулевым при сохранении родителя.

Что я здесь не так делаю?

EDIT:

Сохранить код очень простая строка в Database.class после установки всех необходимых значений для родительского объекта, список CustomerGroup также устанавливается на родительский объект и сохраняется правильно, но не сгенерированный автоматически идентификатор FK

contractRepo.save(contract);

EDIT2:

и если я пытаюсь установить родительский объект в @JoinColumn детей перед сохранением. как

customerGroup.setContractId(contractHolder);

я получаю то, что кажется бесконечным циклом. проклятый

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...