Java 如何使用Hibernate为有序列表创建映射文件?
我有一个简单的Java模型,其中ListHolder持有一个列表,该列表又可以持有ListHolder对象:Java 如何使用Hibernate为有序列表创建映射文件?,java,hibernate,Java,Hibernate,我有一个简单的Java模型,其中ListHolder持有一个列表,该列表又可以持有ListHolder对象: public class ListHolder { private List<ListHolder> list; } 我在映射文件中是否有任何错误?有没有更好的方法来映射有效的列表 用更新的(3.6)Hibernate版本尝试上述方法有意义吗?我认为3.6不会改变结果。 您的CP中有javassist.jar吗?有时候会有帮助。升级到3.6并没有改变任何事情。将ja
public class ListHolder {
private List<ListHolder> list;
}
我在映射文件中是否有任何错误?有没有更好的方法来映射有效的列表
用更新的(3.6)Hibernate版本尝试上述方法有意义吗?我认为3.6不会改变结果。
您的CP中有javassist.jar吗?有时候会有帮助。升级到3.6并没有改变任何事情。将javassist添加到类路径会带来更多有用的错误消息。事实证明,另一个没有setter的成员是堆栈跟踪的罪魁祸首,列表的关系实际上是多对多的关系。以下映射现在可以正常工作,没有缺陷:
<class name="ListHolder" table="tListHolder">
<id name="id" column="fid" type="long" />
<property name="name" column="fname" type="string" length="100" />
<list name="list" access="field" cascade="all">
<key column="parentId" />
<index column="elementIndex"/>
<many-to-many class="ListHolder"/>
</list>
</class>
Exception in thread "main" org.hibernate.HibernateException:
Unable to instantiate default tuplizer
[org.hibernate.tuple.entity.PojoEntityTuplizer]
at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(
EntityTuplizerFactory.java:110)
<class name="ListHolder" table="tListHolder">
<id name="id" column="fid" type="long" />
<property name="name" column="fname" type="string" length="100" />
<list name="list" access="field" cascade="all">
<key column="parentId" />
<index column="elementIndex"/>
<many-to-many class="ListHolder"/>
</list>
</class>