【发布时间】:2011-08-07 17:59:27
【问题描述】:
我正在运行这个异常:
Caused by: org.hibernate.HibernateException: Found shared references to a collection: path.Object.listObjects
这是我的代码:
Object.java
protected List<ListedObject> listObjects ;
....
@OneToMany(cascade=CascadeType.ALL)
@JoinTable(
name = "object_list",
joinColumns=@JoinColumn(name="object_id", unique=true) ,
inverseJoinColumns=@JoinColumn(name="list_id")
)
public List<Annotation> getListObjects() {
return listObjects;
}
public void setListObjects(List<ListedObject> listObjects){
this.listObjects = listObjects;
}
ListedObject.java
private Object object;
...
@ManyToOne(cascade=CascadeType.MERGE)
@JoinTable(name = "object_list",
joinColumns=@JoinColumn(name="list_id"),
inverseJoinColumns=@JoinColumn(name="object_id"))
public MediaObject getObject() {
return mediaObject;
}
public void setObject(Object object) {
this.object = object;
}
请问有人可以帮我吗?
提前致谢!
EDIT异常开始的时间点:
ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
这来自:
5088 [main] WARN org.apache.commons.vfs.impl.StandardFileSystemManager - no protocol: VFSproviders.xml
java.net.MalformedURLException: no protocol: VFSproviders.xml
我真的不知道它是为了什么,但VFSproviders.xml 在项目中,并且它拥有:
<?xml version="1.0" encoding="UTF-8"?>
<providers>
<provider class-name="org.apache.commons.vfs.provider.zip.ZipFileProvider">
<scheme name="zip"/>
</provider>
<extension-map extension="zip" scheme="zip"/>
<mime-type-map mime-type="application/zip" scheme="zip"/>
<provider class-name="org.apache.commons.vfs.provider.ftp.FtpFileProvider">
<scheme name="ftp"/>
<if-available class-name="org.apache.commons.net.ftp.FTPFile"/>
</provider>
<default-provider class-name="org.apache.commons.vfs.provider.local.DefaultLocalFileProvider"/>
</providers>
我完全迷失在这部分,任何帮助将不胜感激。谢谢
【问题讨论】:
-
我之前已经回答过同样的问题:stackoverflow.com/questions/1692871/…
-
公共列表中的注释是什么
getListObjects() { return listObjects; } ? -
我遇到了同样的异常,对我来说这是由于我的实体类的继承路径中有两次相同的属性引起的