JPA ManyToMany关系无限循环

时间:2013-07-31 15:30:58

标签: java jpa many-to-many lazy-initialization

我有两个Entity对象,其字段为:

  

操作 - > {id,name,applications}

     

应用程序 - > {id,name,operations}

正如你所看到的,这两个对象都可以包含彼此列表,所以我就像

那样
@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有关)

我该怎么办这个问题?任何想法将不胜感激。

0 个答案:

没有答案