2011-05-03 5 views
0

HBM 매핑에서 다음을 수행 할 수 있습니까?재귀 HBM 매핑

org.hibernate.InstantiationException: could not instantiate test object Employee 
Caused by: java.lang.StackOverflowError 
at Employee.<init>(Employee.java:11) 
at Employee.<init>(Employee.java:11) 
at Employee.<init>(Employee.java:11) 
...... (about a hundred duplicates) 

라인 Employee.java 11 단지 말한다 : 나는 위의 HBM 매핑을 사용하는 경우

<class name="Employee" table="employees"> 
    <!-- assume that each person only has exactly one supervisor --> 
    <many-to-one name="supervisor" class="Employee" column="supervisorId" /> 
</class> 

, 내 서버는 다음과 같은 오류로 시작하기를 거부

public class Employee implements Serializable { 

어떻게해야 상사 - 직원 관계를 모델링합니까? 수퍼바이저에는 특별한 POJO가 없으며 수퍼바이저 객체에는 특별한 필드가 없습니다.

답변

1

Hibernate는 그러한 관계를 매핑하는데 문제가 없어야한다. 무한 재귀가 다음과 같이 코드에서 오류로 뭔가를 발생합니다 같은

같습니다 :

public class Employee { 
    private Employee supervisor = new Employee(); 
} 
+0

예, 나는 코드의 정확한 라인을 가지고 있었다. 나는 사적인 Employee 감독자 = null로 바꿨다. – David