使用hibernate的createQuery出现堆栈溢出,一般出现该错误是递归层数太多,但是我的数据结构不复杂啊?调用以下该方法时就出现堆溢出错误,但是后台未能打出其它log,但是如果改成jdbc就没问题了。这个问题很郁闷呀?这是使用hibernate的方法:
public List getJobcategory() throws IBSSException {
String hql = "from Jobcategory where parentjobcategoryid is null order by jobcategoryid";
List list = null;
try {
list = session.createQuery(hql).list();
} catch (HibernateException he) {
// he.printStackTrace();
he.printStackTrace();
} finally {
try {
HibernateUtil.closeSession();
} catch (Exception e) {
e.printStackTrace();
}
}
return list;
}Hibernate的配置文件<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.ibss.common.po.Jobcategory" table="JOBCATEGORY" >
        <id name="jobcategoryid" type="java.lang.Long">
            <column name="JOBCATEGORYID"  />
            <generator class="assigned" />
        </id>
        <many-to-one name="jobcategory" class="com.ibss.common.po.Jobcategory" update="false" insert="false">
            <column name="JOBCATEGORYID"  not-null="false" unique="true" />
        </many-to-one>
        <property name="jobcategoryname" type="java.lang.String">
            <column name="JOBCATEGORYNAME" length="40" />
        </property>
        <property name="description" type="java.lang.String">
            <column name="DESCRIPTION" length="80" />
        </property>
        <property name="parentjobcategoryid" type="java.lang.Long">
            <column name="PARENTJOBCATEGORYID"/>
        </property>
        <set name="jobspecs" inverse="true" order-by="jobspecid ASC">
            <key>
                <column name="JOBCATEGORYID"  />
            </key>
            <one-to-many class="com.ibss.common.po.Jobspec" />
        </set>
        <set name="jobcategories" inverse="true" order-by="jobcategoryid ASC">
            <key>
                <column name="PARENTJOBCATEGORYID"  not-null="true" unique="true" />
            </key>
            <one-to-many class="com.ibss.common.po.Jobcategory" />
        </set>
    </class>
</hibernate-mapping>