Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Hibernate为有序列表创建映射文件?_Java_Hibernate - Fatal编程技术网

Java 如何使用Hibernate为有序列表创建映射文件?

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

我有一个简单的Java模型,其中ListHolder持有一个列表,该列表又可以持有ListHolder对象:

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>