我有一个"表",带有列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;
}