<?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 package="cn.mykoo.category">
 <class name="Category" table="t_category">
  <id name="id" column="c_id">
  <generator class="identity"></generator>
  </id>
  <property name="name" column="c_name"></property>
  <many-to-one name="parent" class="cn.mykoo.category.Category" column="parent_id"  lazy="false" ></many-to-one>
 </class>
</hibernate-mapping>
 select category0_.c_id as c1_1_, category0_.c_name as c2_1_, category0_.parent_id as parent3_1_ from t_category category0_ where category0_.c_name='小说'  public List listByName(String name){
      Query q=this.getSession().createQuery("from Category c where c.name='"+name+"'");
      return q.list();
     }我用nvicate for mysql 可以查寻出结果,程序中查询结果为空?why

解决方案 »

  1.   

    你要看你使用的是什么模版!!是sql;还是hql
      

  2.   

       class的属性应该不是本身这个类吧
    <many-to-one name="parent" class="cn.mykoo.category.Category" column="parent_id" lazy="false" ></many-to-one>
      

  3.   


    Query q=this.getSession().createQuery("from Category c where c.name='"+name+"'");这么写你觉得是HQL还是SQL???
      

  4.   

    解决了,是乱码问题,url改成jdbc:mysql://127.0.0.1:3306/mykoo?useUnicode=true&amp;characterEncoding=utf8就好了原来死jdbc:mysql://127.0.0.1:3306/mykoo
    来者有分