问题1:你的事务呢?
问题2:HQL语句中 小写的event是什么?自己写的名字吗?还有event.type=?是什么为什么要这样写呢?模糊查询,精确查找?都不像嘛。。。
事务是从session中取得的,
而session是从SessionFactory中取得的,
Session session = SessionFactory.openSession();//像你那样写就可以了!
Transaction tran = session.beginTransaction(); //必须得有
//Transaction tran = new ....你应该这样写
事务开始-》数据操作(增,删,查,改)-》事务结束-》出现异常(事务回滚)就是。。。比如:tran.roback ....
不明白的就M我
代码没有什么问题,应该是本身没有查询出结果,设置show_sql,把后台打印的sql语句带入你传递的参数执行一下,看是否可以直接在数据库中查询出结果。
MS 你少了一个AS
我看了前面几个的回答,好像都没回答道点子上。
elist = session.createQuery("from CityEvent event where event.type=?")
.setString(0, etype).list();
你这句有问题,你这么写:
String hql="from CityEvent event where event.type=:type";
elist =session.createQuery(hql).setString("type",etype).list();
另外有两个问题我不太确定:
第一:type是String类型吗?如果是,把hql改成这样试试:
String hql="from CityEvent event where event.type=':type'";
第二:传进去的参数etype 的值是多少?可以打印出来看看。
给你个建议,如果知道etype的值,那么hql语句就知道了,可以直接变成sql语句到数据库里去查询,看能否查出来。
希望上面的回答对你有帮助:)
("from CityEvent event where event.type=?")
from后面跟对应的类名不是表名,大小写也要注意的,还有就是你的类名是叫CityEvent event吗?好像不应该有空格的吧
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....