У меня есть сущности ниже:
@Entity
public class User implements Serializable {
private String username;
@OneToOne( optional = false, mappedBy = "user", orphanRemoval = true, fetch = FetchType.LAZY, cascade = CascadeType.ALL )
private BankAccount bankAccount;
//.....
}
И
@Entity
public class BankAccount implements Serializable {
@OneToOne( optional = false, fetch = FetchType.LAZY )
@JoinColumn( name = "user", unique = true, referencedColumnName = "username" )
private User user;
//...
}
Надеюсь, что я прав, сущность User
является родителем, поэтому я могу каскадировать ее операции до BankAccount
. Но когда я пытаюсь это:
User user = new User();
user.setBankAccount(new BanckAccount());
userRepository.save(user);
У меня есть исключение:
org.hibernate.PropertyValueException: not-null property references a null or transient value : org.company.models.User.bankAccount
Каскад сохранения не распространяется, и мне нужно сохранить bankAccount
перед его настройкой для пользователя. Я что-то упустил, я должен проверить свою ассоциацию?
Спасибо