java.sql.SQLException:无法将值NULL插入列

时间:2011-07-23 19:52:46

标签: java sql hibernate hibernate-mapping

我正在使用本教程制作示例程序。 http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-many-to-one-1.html

我正面临错误:

Caused by: java.sql.SQLException: 
Cannot insert the value NULL into column 'ADDRESS_ID', 
                                       table 'sample.dbo.Address'; 
column does not allow nulls. INSERT fails.

在这一行:

session.save(student1);
Main.java中的

在地址和学生表中,我使用ADDRESS_ID,STUDENT_ID的类型为int。

并且在示例程序中它很长。所以我现在在corrosponding类字段和hbm文件中更改为int类型。

现在它给出了同样的错误:

Caused by: java.sql.SQLException: Cannot insert the value NULL into column 'ADDRESS_ID', table 'sample.dbo.Address'; column does not allow nulls. INSERT fails.

任何帮助将不胜感激!感谢

3 个答案:

答案 0 :(得分:1)

确保address_id包含有效数字(指向该学生的地址表条目)

答案 1 :(得分:0)

您必须更改数据库中的ADDRESS_ID列以接受空值。

答案 2 :(得分:-2)

尽管我知道关于HIBERNATE以及看到示例和映射文件之后我知道的只有一个结论,即你将地址列设置为NOT-NULL = TRUE;那是它不允许你插入NULL。关于HIBERNATE的更多事情是,它只允许您添加作为相关表中的主要密钥的外键。

如果NULL不是主键,那么GONNA不允许您添加外键值为NULL。