执行数据库循环保存操作时,开始想只new一个对象,这样会节省一些空间,所以在for循环外面执行new操作,在for循环里面则执行设值操作,然后每次都提交事务到数据库。如下图:
结果发现数据库里只插入了一条数据,查看sql语句才发现问题的所在,sql语句如下:
hibernate只执行了一次insert操作,剩下的都是更新操作,所以最后表里面只有一条数据。
然后我就进行了修改,在每一次for循环里都new一个对象,如下图:
执行插入操作后查看sql语句,发现这次就插入成功了,执行了5次的insert操作,
所以,根据以上可知道,hibernate在for循环里面执行save()方法时每次都必须new一个新对象,这样才能正确的插入数据。
时间: 2024-10-25 20:08:06