有两个类A和B以及hibernate映射
<hibernate-mapping default-lazy="false">
<class name="A" table="A">
<id name="id" type="long">
<generator class="sequence"><param name="sequence">A_SEQUENCE</param></generator></id>
<set name="a" cascade="all" inverse="false" >
<key><column name="A_FK" not-null="true" /></key>
<one-to-many class="B" /></set>
</class>
</hibernate-mapping>
<hibernate-mapping default-lazy="false">
<class name="B" table="B">
<id name="id" type="long"> <column name="ID"/>
<generator class="sequence"><param name="sequence">B_SEQUENCE</param></generator></id>
</class>
</hibernate-mapping>
在数据库上,表B的列A_FK上存在非空约束和外键约束。 当我尝试插入包含B的A时,我收到以下错误:
ORA-01400:无法插入NULL(“SCHEMA”。“B”。“A_FK”)
是否可以插入此类数据而无需指定inverse = true标志?和反比关系?
答案 0 :(得分:0)
并没有摆脱生成id的方式。你能切换Id的生成方式吗?
答案 1 :(得分:0)
将问题转换为问题只是答案的一半......
缺少的是该集合键上的not-null="true"
:
<set name="a" cascade="all" inverse="false" >
<key not-null="true"><column name="A_FK" not-null="true" /></key>
<one-to-many class="B" />
</set>