hibernate+mysql 字符串参数查询没结果

xiedu414 2012-11-05 03:52:53
做了一个测试项目
hibernate3.x+mysql3.0
使用自动生成的dao类,但是根据字符串类型参数查询的话就查询不到任何结果。一开始考虑可能是编码的问题,但是在页面测试输出没有问题。下面是代码,大家帮忙看看。

<%
//jsp中的代码
out.print("<br /><br /><font color='red'>根据类别编号查询:</font><br />");
TableNewsDAO dao = new TableNewsDAO();
List<TableNews> list = dao.findByNewsTypeId(1);
out.print(list.size());
for(TableNews model : list){
out.print(model.getNewsTitle()+"<br />");
}
out.print("<br /><br /><font color='red'>根据新闻标题查询:</font><br />");
List<TableNews> list1 = dao.findByNewsTitle("朝阳大棚棉被网站隆重上线运营");
out.print(list1.size());
for(TableNews model : list1){
out.print(model.getNewsTitle());
}
%>



//DAO中的代码
public List findByProperty(String propertyName, Object value) {
log.debug("finding TableNews instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from TableNews as model where model."
+ propertyName + "= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}

public List findByNewsTitle(Object newsTitle) {
return findByProperty(NEWS_TITLE, newsTitle);
}



<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="com.zhang.bean.TableNews" table="table_news" catalog="lncorp">
<id name="newsId" type="java.lang.Integer">
<column name="NewsID" />
<generator class="native" />
</id>
<property name="newsTitle" type="java.lang.String">
<column name="NewsTitle" />
</property>
<property name="newsImgUrl" type="java.lang.String">
<column name="NewsImgURL" />
</property>
<property name="newsContent" type="java.lang.String">
<column name="NewsContent" />
</property>
<property name="newsAddDate" type="java.sql.Timestamp">
<column name="NewsAddDate" length="0" />
</property>
<property name="newsUpdateDate" type="java.sql.Timestamp">
<column name="NewsUpdateDate" length="0" />
</property>
<property name="newsTypeIntro" type="java.lang.String">
<column name="NewsTypeIntro" />
</property>
<property name="author" type="java.lang.String">
<column name="Author" />
</property>
<property name="newsTypeId" type="java.lang.Integer">
<column name="NewsTypeID" />
</property>
<property name="remark" type="java.lang.String">
<column name="Remark" />
</property>
</class>
</hibernate-mapping>

...全文
337 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿布忘词了 2013-06-06
  • 打赏
  • 举报
回复
楼主怎么搞定的呀?我也是查询这个的时候查不出来findByNewsTitle("朝阳大棚棉被网站隆重上线运营");参数类型是汉字不出结果,捉急呀,楼主好心一下嘛,说一下。万分感谢
xiedu414 2012-11-06
  • 打赏
  • 举报
回复
自己搞定。结贴。
xiedu414 2012-11-05
  • 打赏
  • 举报
回复
mysql5.0
页面输出结果


81,122

社区成员

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

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