Hibernate的Query的setProperties(Map map)方法的使用

   Query的setProperties(Map map)的参数map,map的key要与HQL语句中对应实体类的相应属性名,例如下面的例子中的bid和bname的参数名是需要与Book类中的bid和bname属性对应的,这是对该map的要求。value是要查询的参数的值。简单地说就是Map的键和值要与实体类的属性名和值一一对应,才能成功的传入参数

   使用Query的setProperties(Map map)方法是写hql语句时要用命令参数的方式,用使用问号占位符时传不进去

String hql ="from Book b where b.bid like :bid and b.bname like :name ";//该语句使用的是命令参数的方式
Query query = getSession().createQuery(hql);
Map params = new HashMap();
params.put("bid",'%1%');
params.put("bname","%Java%");
query.setProperties(params); //命名参数方式
List list = query.list();

 

你可能感兴趣的:(Hibernate)