hibernate 中,删除一个查询出来的对象和删除一个new出来的对象,有什么区别
@Entity
@Table(name="ts_user")
public class User {
@Id
@Column
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer userId;
}
删除一个对象有2中方法,
一个是:
User user = (User)session.load(User.class,1);
session.delete(user);
另一个是:
User user1 = new User();
user1.setUserId(1);
session.delete(user1);
请问,这2中方法有什么不同
------解决方案--------------------一个是通过session拦截 然后进行删除 另一个是通过获取对象删除
------解决方案--------------------对于数据库而言,没有什么区别,删除操作都是按照主键ID,来删除数据的。
------解决方案--------------------有区别的,我们假设你配置了级联删除的哈,如果你的user关联了其他的对象,第一种会级联删除,第二种则不会,要报错,我试过的
------解决方案--------------------一个是通过session拦截 然后进行删除 另一个是通过获取对象删除
------解决方案--------------------这个你看一下hibernate的对象的几种状态,就明白了
------解决方案--------------------,同意四楼