标题:hql查询中文问题
取消只看楼主
su1985
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-5-25
 问题点数:0 回复次数:0 
hql查询中文问题
hql查询中文问题
public List getUserByName(final String userName)
{
  try
  {   
   return (List)this.getHibernateTemplate().execute(new HibernateCallback()
   {
    public Object doInHibernate(Session session) throws HibernateException, SQLException
    {
     Query query=session.createQuery("select count(*) from Users u where u.userName='11'");
     List list= query.list();
     System.out.println("size:"+list.get(0).toString());
     return list;
    }   
   });
     }
     catch(Exception e)
     {
      e.printStackTrace();
      return new ArrayList();
     }
}
数据库中有'11'记录.这样可以正确的显示出数据库中用户名为11的记录数.
但如果用户名为中文字段就查不出个数了.都显示0个。如下面的.
public List getUserByName(final String userName)
{
  try
  {   
   return (List)this.getHibernateTemplate().execute(new HibernateCallback()
   {
    public Object doInHibernate(Session session) throws HibernateException, SQLException
    {
     Query query=session.createQuery("select count(*) from Users u where u.userName='小东'");
     List list= query.list();
     System.out.println("size:"+list.get(0).toString());
     return list;
    }   
   });
     }
     catch(Exception e)
     {
      e.printStackTrace();
      return new ArrayList();
     }
}
数据库中有用户名为  '小东'  的记录.但总是显示查询结果为 0

为什么呢。数据是mysql 编码也是gb2312
搜索更多相关主题的帖子: hql 中文 查询 
2008-03-20 23:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-204471-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.660579 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved