gpt4 book ai didi

java - 为什么我不能在 hibernate 中一遍又一遍地使用相同的对象引用?

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:48 24 4
gpt4 key购买 nike

我不明白为什么下面的代码只删除一行。插入元素也会发生同样的情况。谁能告诉我为什么我不能一遍又一遍地使用相同的路线引用?

//Begin transaction
Long id=1;
Route route = new Route();
RouteDAO routeDAO = new RouteDAOImpl();
route.setRouteId(id);
routeDAO.delete(route);
route.setRouteId(++id);
System.out.println(route.getRouteId());
routeDAO.delete(route);
route.setRouteId(++id);
routeDAO.delete(route);
route.setRouteId(++id);
routeDAO.delete(route);
//Commit Transaction

谢谢。

最佳答案

您希望在更改 id 时聚焦到不同的行/route,但事实并非如此。
持久化对象上的任何突变都会导致其资格更新。

您始终使用相同的 route 引用,尽管您通过更改其 id 来改变它,从而导致每次提交后都会进行更新。
实际上,Hibernate 在提交后进行了优化,以避免那些无用的更新,因为您精确地删除了。

这些更新涉及同一行,解释了为什么提交后只发生一次删除。

关于java - 为什么我不能在 hibernate 中一遍又一遍地使用相同的对象引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com