JPA关于双向关系的循环参考

时间:2017-09-06 06:33:51

标签: java hibernate jpa

我有3个这样的表A ---- * B * ----- C(*很多,所以从A到B和B - C是双向的,B上有很多,星号表示很多)

R.color.special_shade_of_yellow

我首先检索json对象,检索好了,我已经消除了循环依赖关系,但后来我想在DB中检索到的json,在对象不存在的DB上。所以我尝试直接保存A,aRepository.save(A),但后来我得到一个C对象不存在的错误。 如何在这种情况下保存,我是否应该将C语言中的json文件放入B中呢?如果是的话,怎么样?

编辑:删除了B和C之间的双向关系,但仍无效。

1 个答案:

答案 0 :(得分:1)

插入数据库需要对json进行一些操作,因为你正在处理双向关系,看到双向关系,每一方都应该引用另一方,这不能完全在json中完成,因为我们没有处理引用所以如果你有像这样的json

A {

B [{A:{}}]

你不能说两者都是一样的。

所以你真正需要做的是从你的json中检索对象并将关系的每一面注入另一方然后保留它们。