日期:2014-05-17  浏览次数:20686 次

【新手求助】hibernate中使用sql语句
Session session = sf.openSession();
Transaction tx = session.beginTransaction();

String addsql="update web_5min set webvisit=webvisit+visit where webid=id";

session.createSQLQuery(addsql).executeUpdate();

其中第三句中的visit,id 是java中的变量。 想表达的意思是 从数据库中匹配到 等于当前变量id的webid,然后给他的webvisit做一个加法并赋值。

但是因为这个sql语句是在String addsql的“”中的,所以变量没法被识别啊,求指点!!谢谢!

------解决方案--------------------
String addsql = "update web_5min set webvisit = webvisit + visit where webid = "+ id +""
------解决方案--------------------
Java code

Query query=session.createQuery("update web_5min set webvisit=webvisit+? where webid=?");
query.setString(1, webvisit);
query.setInteger(2, webid);
query.executeUpdate();