object references an unsaved transient instance - save the transient instance before flushing

因为确实引用有外键,所以在看到这个错误的时候一直认为是引用外键的实体类在该实体保存的时候没有持久化引起的,但感觉奇怪的是,其他同样形式的代码都不会出错,为何单单这段代码出错,想了很多办法,但都不行。后来跟踪了一下,才发现我的save函数执行了两次,而异常是再第二次执行的时候出现的。唉,真是郁闷啊。原来我用的struts2在save执行成功后转向了一个关闭当前页的"close"页,结果不知道是何原因会将save函数执行了两次,而且prepareModel()也执行了两次。

上面一段可能只有现在的我能看懂,我想说的大概意思是:出现问题不要想当然,先跟踪一下,看到底是在哪一步出的错。

你可能感兴趣的:(object references an unsaved transient instance - save the transient instance before flushing)