Java 玩1.3。HibernateException:找到同一集合的两个表示形式

Java 玩1.3。HibernateException:找到同一集合的两个表示形式,java,hibernate,playframework-1.x,Java,Hibernate,Playframework 1.x,我在请求类中有带有字段文件的模型: @Basic(fetch = FetchType.LAZY) @ManyToMany @JoinTable(name = "file2request", joinColumns = @JoinColumn(name = "request"), inverseJoinColumns = @JoinColumn(name = "file")) public List<File> files = new ArrayList

我在请求类中有带有字段文件的模型:

@Basic(fetch = FetchType.LAZY)
@ManyToMany
@JoinTable(name = "file2request",
        joinColumns = @JoinColumn(name = "request"),
        inverseJoinColumns = @JoinColumn(name = "file"))
public List<File> files = new ArrayList<>();
@Basic(fetch = FetchType.LAZY)
@ManyToMany(mappedBy = "files", targetEntity = Request.class)
public List<Request> requests;
@Basic(fetch=FetchType.LAZY)
@许多
@JoinTable(name=“file2request”,
joinColumns=@JoinColumn(name=“request”),
inverseJoinColumns=@JoinColumn(name=“file”))
public List files=new ArrayList();
文件类中的映射:

@Basic(fetch = FetchType.LAZY)
@ManyToMany
@JoinTable(name = "file2request",
        joinColumns = @JoinColumn(name = "request"),
        inverseJoinColumns = @JoinColumn(name = "file"))
public List<File> files = new ArrayList<>();
@Basic(fetch = FetchType.LAZY)
@ManyToMany(mappedBy = "files", targetEntity = Request.class)
public List<Request> requests;
@Basic(fetch=FetchType.LAZY)
@ManyToMany(mappedBy=“files”,targetEntity=Request.class)
公开名单请求;
它在play版本1.2.5.3或更早版本上运行良好。但在版本1.3.0上,我保存请求时出错:

javax.persistence.PersistenceException: org.hibernate.HibernateException:找到了相同的两个表示形式 集合:models.base.requests.base.Request.files
位于org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387) 在 org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310) 位于org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:277) models.base.requests.base.Request.setGenerateId(Request.java:543) 位于models.base.requests.base.Request.lockedSetUid(Request.java:513) 在models.base.requests.base.Request.updateUid(Request.java:569)中 models.base.requests.幼稚园.幼稚园请求.saveCore(幼稚园请求.java:416) 在 models.base.requests.幼稚园.幼稚园请求.saveRequestsCore(幼稚园请求.java:300) 在 controllers.requests.types.幼稚园.create(幼儿园.java:217) 在 play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:524) 调用(ActionInvoker.java:475)在 play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:451) 在 play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:446) 调用(ActionInvoker.java:160)在 Invocation.HTTP请求(播放!)由以下原因引起: org.hibernate.HibernateException:找到了相同的两个表示形式 集合:models.base.requests.base.Request.files位于 org.hibernate.engine.internal.Collections.processReachableCollection(Collections.java:167) 在 org.hibernate.event.internal.FlushVisitor.processCollection(FlushVisitor.java:59) 在 org.hibernate.event.internal.AbstractVisitor.processValue(AbstractVisitor.java:121) 在 org.hibernate.event.internal.AbstractVisitor.processValue(AbstractVisitor.java:82) 在 org.hibernate.event.internal.AbstractVisitor.ProcessEntityPropertyValue(AbstractVisitor.java:76) 在 org.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:175) 在 org.hibernate.event.internal.AbstractFlushingEventListener.Flushenties(AbstractFlushingEventListener.java:251) 在 org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:100) 在 org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:61) 在 org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1130) 在 org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1747) 在 org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:232) 位于org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:157) 在org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:268)上。。。 还有12个


Play1.2.x和1.3.0之间的一个更大的变化是许多库已经更新。所使用的Hibernate版本从3.6.10版本升级到4.2.15版本。你问题的答案可能就在那次大飞跃的某个地方。我会查看Hibernate的发布和迁移说明来寻找线索。