Action
엔티티가 있는데, 다른 Action
개체를 양방향 일대 다 관계로 가질 수 있습니다. "수집 매핑 반복 열 : DbAction.childs 열 :의 actionId"최대 절전 모드의 자체 참조 엔터티
: 문제는 Hibernate가 다음과 같은 예외를 출력입니다 :
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="DbAction" table="actions">
<id name="actionId" type="short" />
<property not-null="true" name="value" type="string" />
<set name="childs" table="action_action" cascade="all-delete-orphan">
<key column="actionId" />
<many-to-many column="actionId" unique="true" class="DbAction" />
</set>
<join table="action_action" inverse="true" optional="false">
<key column="actionId" />
<many-to-one name="parentAction" column="actionId" not-null="true" class="DbAction" />
</join>
</class>
</hibernate-mapping>
나도 같은 엔티티를 참조하고 있습니다 때문에, ID 필드가 변경되지 않도록. – Mark
작전, 네 말이 맞아 미안해. 엔티티 사이의 관계를 만드는 동안 같은 열 이름을 지정하는 것이 필수적이라고 생각했지만 그렇지는 않았다. 그래서 "setAction"으로 "set"엘리먼트의 "key"엘리먼트의 "actionId"값을 대체하고 "many-to-one"엘리먼트의 "column"애트리뷰트에 "parentActionId"를 설정하여 문제를 해결했습니다. 요소. – Mark