org.hibernate.exception.DataException: 请高手帮忙

hql_screet 2010-07-02 11:30:35
这个是错误
org.hibernate.exception.DataException: could not execute native bulk manipulation query

public void updategoods(int goodid,int count, double money,int pid,int sid) {
// TODO Auto-generated method stub
Session session=getHibernateTemplate().getSessionFactory().openSession();
Transaction tran=session.beginTransaction();
try{
Query right=session.createSQLQuery("update goodsinfo set g_count=g_count-"+count+",g_money=g_money-"+money+",p_id="+pid+",state=1 where g_id="+goodid);
right.executeUpdate();
Query right1=session.createSQLQuery("update enterinfo set e_money=e_money-"+money+" where s_id="+sid);
right1.executeUpdate();
Query right2=session.createSQLQuery("update outboundinfo set o_money="+money+" where s_id="+sid);
right2.executeUpdate();
Query right3=session.createSQLQuery("insert into outgoodsinfo values("+goodid+","+count+","+money+")");
right3.executeUpdate();
tran.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
session.close();
}
}
就是因为我这样写所以报错
...全文
963 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoheihuang 2012-12-06
  • 打赏
  • 举报
回复
这个错误解决了吗,楼主,应该怎么修改呢
theflycloud 2010-07-02
  • 打赏
  • 举报
回复
哪家网站的啊,我绝对不用,钱用double类型,寒一个
shore1111 2010-07-02
  • 打赏
  • 举报
回复
可能是赋值的时候问题吧,改用set方法赋值
shore1111 2010-07-02
  • 打赏
  • 举报
回复
刚才说错了 是可以的
shore1111 2010-07-02
  • 打赏
  • 举报
回复
createSQLQuery 都是进行select操作,我是没这么用过
nisuifen 2010-07-02
  • 打赏
  • 举报
回复
createSQLQuery 只能是执行 查询的SQL 吧。
好久没有用hibernate了 看看session.中还有些什么方法
simaa0106 2010-07-02
  • 打赏
  • 举报
回复
楼上说的都对。学习了
talentlch 2010-07-02
  • 打赏
  • 举报
回复
hql语句针对的是持久化对象,sql针对的是表
createSQLQuery 不知道这里面有到的是 对象还是表名...
JavPer 2010-07-02
  • 打赏
  • 举报
回复
hibernate里操作数据用HQL语句,我感觉你那些createSQLQuery()里的语句都不是HQL语句

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧