1

我有两个实体对象,它们的字段是:

操作--> {id, name, applications}

应用程序-->{id、名称、操作}

如您所见,这两个对象都可以包含彼此的列表,所以我这样做

@ManyToMany(cascade={CascadeType.ALL},targetEntity=Operation.class)
@LazyCollection(LazyCollectionOption.FALSE)
@NotFound(action = NotFoundAction.IGNORE)
@JoinTable(schema="RBMCORE",
          name="T_RBM_OPSCREENS_OPS_APPS",
          joinColumns={@JoinColumn(name="APP_ID", referencedColumnName="ID")},
          inverseJoinColumns={@JoinColumn(name="OP_ID", referencedColumnName="ID")})

另一个是

@ManyToMany(cascade={CascadeType.ALL},mappedBy="operations",targetEntity=Application.class)
@LazyCollection(LazyCollectionOption.FALSE)
@NotFound(action = NotFoundAction.IGNORE)

他们每个人都有这样的定义(反之亦然关于连接列部分)。但是当我这样做时,它会给出一个例外,例如

“会话不存在或已关闭”

.

当我将 LazyInit 设置为 false 时,它​​进入了无限循环,这并不奇怪。(Spring 说问题是因为对象的 JSON 转换,但我认为它仍然与 JPA 有关)

我能做些什么来解决这个问题?任何想法将不胜感激。

4

0 回答 0