由一个问题引起对hibernate的cascade和inverse的思考

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuan_qh/article/details/83829670

今天在写一个web应用的时候,出现了一个错误,内容为:object references an unsaved transient instance - save the transient instanc

意思就是我在保存(多表那一方)中的一个对象的时候,这个对象中的外键(即引用的另一个对象)还不存在,所以报了这个错,由于我的项目中存在两个表,并且是一对多的关系,所以要想解决这个错误,直接把(多表那一方)的外键的属性设置为cascade="save-uptade" ,即级联保存更新,当更新(多表那一方)的时候,如果相应的外键并不存在,即(单表那一方)不存在相应的对象的时候,则会自动创建外键,即在(单表的一方)创建一个对象并保存,然后在保存(多表那一方)的对象,就不会产生上面的错误了.

      但是,我想说的是,当你保存的对象中存在一个外键的时候,而此时这个对象中的外键为空,即你的外键引用的是一个不存在的值,你就得好好想一下是不是你哪里的值传递有问题了.

后来就看了一下其他的有关hibernate的cascade和inverse的介绍,还不错,链接给大家:

https://blog.csdn.net/canot/article/details/50991223

     

猜你喜欢

转载自blog.csdn.net/yuan_qh/article/details/83829670