Hibernate删除操作问题(答好20分)

2024-12-27 05:14:08
推荐回答(2个)
回答1:

或许是这样的
User user = new User();
user.setId(1);
session.delete(user);
这样user里面的order并没有值 删除user hibernate并不能帮你删除order 数据库不允许

User user = (User) session.get(User.class, 1);
session.delete(user);
user中会有order, hibernate帮你删除order(就算是懒加载,也会存在缓存中)

回答2:

做删除user表id值为1的数据行的操作——
User user = new User();
user.setId(1);
session.delete(user);

你这步就错了。这个user 是你new出来的,是非持久化对象。然而删除是要求一个持久化的对象