我正在使用本教程制作示例程序。 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.
任何帮助将不胜感激!感谢
答案 0 :(得分:1)
确保address_id包含有效数字(指向该学生的地址表条目)
答案 1 :(得分:0)
您必须更改数据库中的ADDRESS_ID列以接受空值。
答案 2 :(得分:-2)
尽管我知道关于HIBERNATE以及看到示例和映射文件之后我知道的只有一个结论,即你将地址列设置为NOT-NULL = TRUE;那是它不允许你插入NULL。关于HIBERNATE的更多事情是,它只允许您添加作为相关表中的主要密钥的外键。
如果NULL不是主键,那么GONNA不允许您添加外键值为NULL。