s = null;
try {
s = getSession();
Query q = s.createQuery("from Department as department where department.Id like :department");
q.setString("department", "'%开发部%'");
return q.list();
} finally {
closeSession(s);
}这样行不行?
try {
s = getSession();
Query q = s.createQuery("from Department as department where department.Id like :department");
q.setString("department", "'%开发部%'");
return q.list();
} finally {
closeSession(s);
}这样行不行?
解决方案 »
- ssh2 1对多,在多的一方插入数据问题
- jsp页面获取注入的spring bean 求高手来看看
- struts2用execute验证登录的问题
- 一台机器能不能装多套hadoop?
- 如何通过纯JVA语言获得CPU序列号信息,最好有例子,在线等待~~~~~~~~~~~~~~~~~~~~~~~~`
- spring+hibernate整和的问题! 求助
- 我要在webservice里面加载spring配置文件怎么做呢?
- eclipse配置websphere的问题,(急!!在线等!)
- 一个线程如何去控制另一个线程
- 求教,JPA调用Service如何能不用@Autowired,我想用接口封装Service
- 关于TOMCAT4.1+SQLSERVER2000 配置数据库连接池的问题
- tomcat4.1重新部署,可是页面没有变化?
q.setString(1, "开发部");
try {
s = getSession();
String HQL_QUERY="from Department as department where department.Id like ?";
List list = s.find(HQL_QUERY, "%开发部%", Hibernate.STRING); return q.list();
} finally {
closeSession(s);
}
试下吧,具体怎么该自己看,我随手写的没测过
请问有没有办法,使q.setString(0, "开发部");时 开发部 这三个字不用加上引号代入SQL语句中。
q.setString(0, "开发部");语句中给字符串加上单引号,以及对其他非法字符的过滤都是不可避免的,所以必须像passwords(name)写的那样在调用之前对字符串进行处理。
如果不想做这种处理的话,建议还是使用Hibernate提供的条件查询(Criteria Query)
====
List departmentList = s.createCriteria(Department.class)
.add( Expression.like("Id", "%开发部%") )
.list();