如何通过在CreateSqlquery中使用Hibernate更新数据



我有一个"表",带有列ID(int(名称(string(,size(string(,数量(int(

我想每次称呼它的数量,以更新一个减去数量。这是我的代码工作正常(无错误或异常(,但不更新数量。

我在Internet上进行了搜索,有人说可以在3.0更新到3.2的Hibernate版本中解决。但是我有一个问题是我如何检查我的冬眠版本以及如何更新。

我是冬眠的新手,不知道它的语法太多。请帮我。非常感谢。

    public Object upItem(Class<?> objclass,Integer id){
    String up="update dbo.TB_ITEM set quantity=quantity-1 where id="; 
    String minus=String.valueOf(id);
    String both=up+minus;
    return sessionFactory.getCurrentSession().createSQLQuery(both).executeUpdate();}

看起来您需要交易。尝试以下代码

    public Object upItem(Class<?> objclass, Integer id) {
        String up = "update dbo.TB_ITEM set quantity=quantity-1 where id=";
        String minus = String.valueOf(id);
        String both = up + minus;
        Session session = sessionFactory.getCurrentSession();
        // Start the transaction
        Transaction tx = session.beginTransaction();
        int result = session.createSQLQuery(both).executeUpdate();
        // commit your changes
        tx.commit();
        return result;
    }

最新更新