如何在Hibernate中保持递归属性?

时间:2011-03-23 10:59:03

标签: java hibernate recursion mapping persistence

我正在努力处理涉及具有相同类类型属性的类的Hibernate映射。即(简化的):

public class A {
    protected A next = null;
}

我的映射目前看起来像:

<hibernate-mapping package="mypackage">
    <class name="A" table="tblA" lazy="false">

        <id name="id">
            <generator class="native"/>
        </id>

        <property name="next" type="A" />

    </class>
</hibernate-mapping>

然而,在Hibernate初始化期间,我得到Exception in thread "main" org.hibernate.MappingException: Could not determine type for: A, at table: tblA, for columns: [org.hibernate.mapping.Column(next)]

我的理解是我正在尝试使用尚未声明的映射(因为我现在正在做)并且我可能需要像前向声明那样的东西。你有什么想法吗?

谢谢你 Tunnuz

1 个答案:

答案 0 :(得分:4)

这是一个参考:

<many-to-one name="next"/>

<Property>用于原始类型。通常不需要声明类型,因为它是由Hibernate使用反射确定的。