hibernate 模糊查询(ssh框架)

wxahun 2012-01-24 04:35:24
public List findBymohu(String name, String address, int depart,int userinfo) {
Session s = getSession();
Transaction tx = s.beginTransaction();
String Hql = "from Room as r where 1=1 ";
if (name != null) {
Hql += " and r.name like '%" + name + "%'";
}
if (address != null) {
Hql += " and r.address='%" + address + "%'";
}
if (depart != 0) {
Hql += " and r.department.did= " + depart;
}
if (userinfo != 0) {
Hql += " and r.userinfo.uid= " + userinfo;
}
Hql += " order by r.rid desc";
System.out.println(" nnnnnnnnn");
List list = s.createQuery(Hql).list();
System.out.println(" cccccccc");
tx.commit();
s.flush();
s.close();
return list;
}


执行了nnnnnn 没有执行cccccccccc
没有提交去查询
ssh框架 我不需要这里有事务! 因为spring 已经帮我处理了!
...全文
420 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shengr617 2012-01-30
  • 打赏
  • 举报
回复
if (name != null) {
Hql += " and r.name like '%" + name + "%'";
}
if (address != null) {
Hql += " and r.address like '%" + address + "%'";
}
if (depart != 0) {
Hql += " and r.department.did= " + depart;
}
if (userinfo != 0) {
Hql += " and r.userinfo.uid= " + userinfo;
}
}
shengr617 2012-01-30
  • 打赏
  • 举报
回复
if (name != null) {
Hql += " and r.name like '%" + name + "%'";
}
if (address != null) {
Hql += " and r.address like '%" + address + "%'";
}
if (depart != 0) {
Hql += " and r.department.did= " + depart;
}
if (userinfo != 0) {
Hql += " and r.userinfo.uid= " + userinfo;
}
Hql += " order by r.rid desc";
}
javagongzhu 2012-01-29
  • 打赏
  • 举报
回复
查询是不需要事务的,应该是sql语句写错了。你打印出来看下,就知道了。
hzylove 2012-01-29
  • 打赏
  • 举报
回复
debug下看传入的值和sql语句是不是有错误 关于事务里面再开一个事务好像不出错吧
jumpheightway 2012-01-29
  • 打赏
  • 举报
回复
事务重复是有问题的

事务与事务之间是相互独立的
不能嵌套的
关键我是洛哥 2012-01-26
  • 打赏
  • 举报
回复
可以考虑写一个函数 自动添加你的查询条件啊
LucEaspe 2012-01-24
  • 打赏
  • 举报
回复
含%模糊查询用like 不能用 "="
wnf2009 2012-01-24
  • 打赏
  • 举报
回复
List list = s.createQuery(Hql).list()抛出异常

1.Hql += " and r.address='%" + address + "%'"。没用like,
2.而且字符串拼接有点问题
NewMoons 2012-01-24
  • 打赏
  • 举报
回复
你把Hql打印出来看看是不是有语法错误,或者对象名写错之类的,肯定是
List list = s.createQuery(Hql).list();
这句抛出了异常。
最好有捕获异常的习惯
try catch一下

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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