org.hibernate.PropertyValueException: not-null property references a null or transient value: model.

今天在写一个SSH整合的项目时,首先将数据库操作部分单独分离出来,写完后使用Junit进行测试,经过测试,发现没有任何问题,对数据库中的内容进行增删改查没有问题,但是将他整合到SSH的项目中时,报出了这么一个错误org.hibernate.PropertyValueException: not-null property references a null or transient value: model.TransactionRecord.remark。当时很是费解,因为当时当时在Junit中测试的时候没有任何问题,但是将代码复制到项目中就会出错了呢。当时没有仔细看错误堆栈信息,看到一个not null就以为可能是参数传递时候出了错,然后在调用方法时将参数全部打印输出一遍,但是神奇的是参数没有任何问题,那么问题来了,参数和方法都没有问题到底是哪里错了呢?静下心来吧错误信息重新阅读以下,错误的意思是在TransactionRecord这个类的remark属性是空,引发了这个异常,然后检查了一下映射文件,发现在映射文件中为remark这个属性设置了一个not-null属性为true,然后使用TransactionRecord时没有给remark赋值。将remark的not-null属性去除或者给remark赋值后在运行,这个错误就消失了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。