hibernate4 hql占位符问题
今天用hibernate4做设计的时候,用到了hql的占位符,从页面获取的占位符参数值是中文,一直不能获取数据库数据,把值换成数字又行了,急求大牛解答,非常感谢
代码:
public List<StorageEntryPO> QueryEntry(QueryEntryVO query_entryvo){
List<StorageEntryPO> result=new ArrayList();
hib=new HibernateService();
sf=hib.getSessionFactory();
session=sf.getCurrentSession();
Transaction tx=null;
try{
tx=session.beginTransaction();
Query query=session.createQuery("from StorageEntryPO as s where s.storageno=:storageno");
query.setString("storageno", query_entryvo.getStorageno());
result=query.list();
tx.commit();
System.out.println(result);
}catch(Exception e){
if(tx!=null){
tx.rollback();
}
e.printStackTrace();
}
return result;
}
------解决方案--------------------query.setString改为query.setEntity
------解决方案--------------------你的StorageEntryPO的storageno类型和VO的型一致不?不一致你就需要转换了再传进去.或者查一下映射文件