Каскад - изменения распространяются и со стороны не владеющих? - PullRequest
0 голосов
/ 23 февраля 2019

Я новичок в Hibernate.Я читал, что при использовании cascade.ALL для сохранения изменения распространяются со стороны владельца.Ниже приведен пример, в котором я сохраняю объект, не являющийся владельцем, и объект-владелец также сохраняется.

класс Account {

@OneToMany(mappedBy="account" , cascade=CascadeType.ALL)
List<Transaction> list= new ArrayList<Transaction>();

}

class Transaction {

@ManyToOne
@JoinColumn(name="account_id")
Account account;

}

Account a = новая учетная запись ("сбережения");

    Transaction t1 = new Transaction("shoe purchase", 45);

    t1.setAccount(a);

    a.getList().add(t1);


    accountRepository.save(a); //If cascaded is on account

Имеет ли значение, на какой стороне находится каскад.В этом случае я мог бы использовать cascade.PERSIST

Еще один вопрос, который у меня возник, был, пишем ли мы однонаправленное отображение для отношений OneToMany / ManyToOne?

Спасибо

1 Ответ

0 голосов
/ 23 февраля 2019

Да, это важно.Если cascade определено только для родителя, когда вы вносите какие-либо изменения в родителя и сохраняете его, тогда также будут выполнены существенные изменения для дочерних элементов, но изменение дочерних элементов не повлияет на родительскую сущность.То же самое, когда каскадные изменения происходят только у дочерней сущности.

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