我有两个实体对象,它们的字段是:
操作--> {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 有关)
我能做些什么来解决这个问题?任何想法将不胜感激。