를 만들 설정 나는 새로운 프로젝트를 만들려고 할 때 그래서최대 절전 모드에서 모두 교차 참조가 나는 두 엔티티, 프로젝트 및 ProjectFee이
<class name="com.package.Project" table="project">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<!-- more fields -->
<set name="fees" table="project_fees" cascade="all" fetch="join" lazy="false">
<key>
<column name="id_project"/>
</key>
<one-to-many class="com.package.ProjectFees"/>
</set>
</class>
<class name="com.package.ProjectFees" table="project_fees">
<!-- more fields -->
<property name="idProject" type="java.lang.Integer">
<column name="id_project" />
</property>
</class>
하고 새 ProjectFee 사용하여 IdProject는 db에서 null이 될 수 없기 때문에 오류가 발생하고 Project는 아직 생성되지 않았기 때문에 id가 설정되지 않았기 때문에 setted되지 않습니다.
- 만들기 프로젝트
- 에서 ProjectFees를 제거 프로젝트
- 각각
- 업데이트 프로젝트
하지만 이것은 일종의 "더러운"방법이므로 자동으로 수행 할 수있는 방법이 있는지 알고 싶습니다.
관계의 양쪽에 참조를 설정하고 유지하십시오. –
@AbdullahKhan 문제는 프로젝트가 데이터베이스에 아직 존재하지 않기 때문에 Project.id를 가지고 있지 않기 때문에 내가 할 수 없다는 것입니다. – Aldeguer