qq_25420479
qq_25420479
采纳率0%
2016-06-08 02:46

hibernate delete 与update 方法不起作用???

20

System.out.println("开始删除");
boolean flag = false;
Session session = getSession();
Transaction transaction = session.beginTransaction();
try {
NewsInformations newsInformations = (NewsInformations) session.load(NewsInformations.class,id);
session.delete(newsInformations);
flag = true;
transaction.commit();
}catch (Exception e){
transaction.rollback();
flag = false;
}finally {
System.out.println(flag);
return flag;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

9条回答

  • liangzi321321 二哈大叔 4年前

    果然,我也是保存能执行,更新和删除操作执行了会失效,我一直以为是我数据状态的问题,后来又想到了是不是事务没提交,最后看到你这个问题我果断的尝试了一把,ok,就是他的问题,两天的血汗啊,终于明白了,长记性了

    点赞 评论 复制链接分享
  • mengqingyu555 暮云收尽溢清寒 5年前

    感觉表之间做关联没有什么使用意义

    点赞 评论 复制链接分享
  • meng20166 乐古 5年前

    当 某张表被另外一张表关联或者数据正在被另一个用户执行增删改操作的时候,这条数据就会被锁住,只能执行查询,无法增删改

    点赞 评论 复制链接分享
  • qq_25420479 qq_25420479 5年前

    终于找到问题所在了,需要在配置的时候在 一 的一方写上 ;

    @OneToMany(mappedBy = "newsInformations",orphanRemoval = true)
    @LazyCollection(LazyCollectionOption.EXTRA)
    private List newsInformationsPictures;

    点赞 评论 复制链接分享
  • qq_25420479 qq_25420479 5年前

    哦哦 我知道问题出在哪里了 这张表关联着另外一张表 但是delete 方法不是可以删除所有吗

    点赞 评论 复制链接分享
  • u011606457 _1_1_7_ 5年前

    你没把异常打印出来,所以没看的任何异常,你的代码:
    }catch (Exception e){
    transaction.rollback();
    flag = false;
    }finally {
    System.out.println(flag);
    return flag;
    }
    改为:
    }catch (Exception e){
    e.printStackTrace();//最好记录日志,这里就简单打印了
    transaction.rollback();
    flag = false;
    }finally {
    System.out.println(flag);
    return flag;
    }

    点赞 评论 复制链接分享
  • qq_25420479 qq_25420479 5年前

    我的事物管理是spring 来管理的,但还是删除和修改不起作用,所以我有手动写了一遍事物提交,但是因为事物是spring 自己管理的,如果在finally里边close
    session 的话 ,会报错的

    点赞 评论 复制链接分享
  • zy_281870667 Bug开发攻城狮 5年前

    你的session是手动管理的嘛?
    如果是手动管理的,方法都执行完毕了,是不是要关闭下session呢

    点赞 评论 复制链接分享
  • qq_25420479 qq_25420479 5年前

    保存 查询都没问题 但是删除与查询就不可以 而且还不报错,sql语句也没有打印,怎么办啊 在线等 ,急急急

    点赞 评论 复制链接分享

相关推荐