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

Hibernate 执行sql语句的问题
想在Hiebernate里面执行复杂的sql语句,代码如下:
Java code

QueryObject query = sess.CreateSQLQuery(sql).addEntity(myForm.class);//拼写可能有误
List lst = query.list();



问题:
1、执行报错:myForm 不是类
2、怎么在sql里加入参数,可以用query.setParameter吗?

------解决方案--------------------
QueryObject query = sess.CreateSQLQuery("Select * From 表 Where id = :param");
query.addEntity(myForm.class);// 类名必须正确,否则无法通过编译
query.setString("param", "xxxooo"); // 这里是设置命名参数的值
List lst = query.list();
------解决方案--------------------
1、检查一下有没有myForm这个类,它是一个定义过的存在的类。
2、可以传参数,比如:
sql = "select * from tabletest where id = id ";
SQLQuery query = sess.createSQLQuery(sql);
query.setInteger("id",10);
query.addEntity("myForm", myForm.class);
List <myForm> list = query.list();