Как сохранить рекурсивное свойство в Hibernate? - PullRequest
0 голосов
/ 23 марта 2011

Я борюсь с отображением 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 Ответ

4 голосов
/ 23 марта 2011

Это ссылка:

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

<Property> используется для примитивных типов. Обычно нет необходимости объявлять тип, так как он определяется Hibernate с использованием отражения.

...