hibernate给表外键插入空值时报错。求解。详细如下:
异常:ORA-02291:违反完整约束条件(SY.FK_STUDENTS)-未找到父项关键字表中外键字段不是主键,可以为空值,sql语句插入空值没问题。但是用java的h...
异常:ORA-02291: 违反完整约束条件 (SY.FK_STUDENTS) - 未找到父项关键字
表中外键字段不是主键,可以为空值,sql语句插入空值没问题。但是用java的hibernate代码就报错。
表结构:
id 主键
name 普通字段
gid 外键,可以为空值
java代码如下:
Student s1=new Student();
s1.setName("张三");// id Hibernate自动生成,所以不设置,外键可以为空,所以也不设置
.....
session.save(s1);
tran.commit();
为什么会报上面那个异常?难道是hibernate不允许外键插入空值吗???求解!
映射文件:
<class name="students.Student" table="students">
<id name="id" type="java.lang.Integer" >
<column name="id"/>
<generator class="increment"/>
</id>
<property name="name" type="java.lang.String">
<column name="name"/>
</property>
<property name="gid" type="java.lang.Integer">
<column name="gid"/>
</property>
</class> 展开
表中外键字段不是主键,可以为空值,sql语句插入空值没问题。但是用java的hibernate代码就报错。
表结构:
id 主键
name 普通字段
gid 外键,可以为空值
java代码如下:
Student s1=new Student();
s1.setName("张三");// id Hibernate自动生成,所以不设置,外键可以为空,所以也不设置
.....
session.save(s1);
tran.commit();
为什么会报上面那个异常?难道是hibernate不允许外键插入空值吗???求解!
映射文件:
<class name="students.Student" table="students">
<id name="id" type="java.lang.Integer" >
<column name="id"/>
<generator class="increment"/>
</id>
<property name="name" type="java.lang.String">
<column name="name"/>
</property>
<property name="gid" type="java.lang.Integer">
<column name="gid"/>
</property>
</class> 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询