public <T> void delete(Class<T> entityClass,Object Id) {
sessionFactory.getCurrentSession().delete(
sessionFactory.getcurrentSession().load(entityClass,Id));
}load 参数里不能有id.   delete上面给了我横插(过期方法)。
应该用什么办法做删除   通用的是什么办法?   谢谢大哥们。

解决方案 »

  1.   

    我暂时用int代替Object   这样是不是可行?  还有很好的方法没 。。   我是跟着巴巴网视频教程做项目呢   我没用jpa  我用hibernate。   我之前也跟别的oa项目也做过一半   用的框架和版本跟他们的一样  只是抄袭  效果不好。   我现在改变了  用别的框架做项目。   只是个尝试。  我昨天刚仔细看完struts,hibernate,spring(以前只是了解,后来不看视频什么都做不了重看了一遍,)   做巴巴网现在进度很慢   可以说我刚开始动手写程序 11-18 我琢磨一天了。  我的一天不像别人的一天   我从12点开始看到现在。 15个小时了。 刚开始hibernate映射文件上的package  写错了。  耽误了3.4个小时。  也许这就是去培训班和不去培训班的区别吧。  哎  1W多拿出来给他们也觉得有点心疼。   那是父母当一年的牛马钱。   还有对自己也没信心,  4.5个月之间能像他们所说的那样精通。
      

  2.   

    hibernate 3可以使用delete 删除实体的方法做,或者直接写 hql的删除语句在,query。excuteUpdate()的方法里面做
      

  3.   

    在spring当中你它已经帮你做了封装,一般在你提交完成一个事物,也就是commit的时候session就会被删除。
      

  4.   

                
       public boolean deleteById(String id)
       {
          boolean bl = false;
          Query query = this.getSession().createQuery("delete  myVO where id=?");
          query.setString(0, id);//传到Dao的id
          bl = query.executeUpdate() > 0 ? true : false;
          return bl;
       }
      

  5.   

                
       public boolean deleteById(String id) 
       { 
           boolean bl = false; 
           Query query = sessionFactory.getCurrentSession().createQuery("delete  myVO where id=?"); 
           query.setString(0, id);//传到Dao的id 
           bl = query.executeUpdate() > 0 ? true : false; 
           return bl; 
       }