new 出来一个实例,给主键赋值的方法确实只执行一条语句,但是需要注意的是,如果你的这个实例对应的表有约束(如not null, foreign key等)的话,你还得为那些约束的字段赋值,很不容易控制. 如果不喜欢用先get/load之后再delete的方法的话,你就用createQuery吧:
session.createQuery("delete from User where col_id in {:ids}").setParameterList("ids", {}).executeUpdate();
还能一次删除多条记录.但是要注意外键的级联删除.