Spring Boot如何保存存储库(两个方向的JPA关系)

时间:2016-01-19 07:10:51

标签: jpa spring-boot

我有2个课程/参赛作品,其中@OneToMany@ManyToOne连在一起(双向)。

现在我的想法:如果我在一侧向集合中添加一个元素,那么它也在另一面上吗?

所以我做了这个解决方法:

/**
* use {@link Answer#setExercise(Exercise)} on child
*/
@Deprecated
public void addAnswer(Answer answer) {
    this.answers.add(answer);
}
/**
* use {@link Answer#setExercise(Exercise, boolean)} on child
*/
@Deprecated
public void removeAnswer(Answer answer) {
    this.answers.remove(answer);
}

弃用只是对我自己的警告

public void setExercise(Exercise exercise) {
    setExercise(exercise, false);
}

@SuppressWarnings("deprecation")
public void setExercise(Exercise exercise, boolean remove) {
this.exercise = exercise;
    if (!remove) {
        exercise.addAnswer(this);
    } else {
        exercise.removeAnswer(this);
    }
}

所以我想知道我是否基本上必须在JPA中做这样的事情(所有关系,如果我想要两种方式)。

接下来我想知道Spring-Boots存储库如何保存对象。他们只保存元素本身或所有关系(和背面关系)吗?

在Spring Boot中保存一个对象就足够了 - 两个关系都存储起来。

0 个答案:

没有答案