Я немного смущен эффектом Cascade.ALL.
У меня есть два класса:
class Task {
@OneToOne(mappedBy = "task", cascade = CascadeType.ALL, orphanRemoval = true)
private Status status;
}
class Status {
@OneToOne
@JoinColumn(name = "task_id", updatable = false)
private Task task;
@Column(name="name")
private String name;
}
Я думал, что сохранение статуса не влияет на класс Task, так как каскадприменяется к классу Task, а не к Status, но он изменяет объект задачи в моей базе данных.Поэтому мне интересно, если
Task task = status.getTask();
task.setName(xxx);
taskDao.save(task);
имеет тот же эффект, что и
taskDao.save(status.getTask.setName(xxx));
Отличается ли он для statusDao.save(task.getStatus)
и statusDao.save(status)
?
Спасибо.