当前位置: 代码迷 >> Java Web开发 >> 关于hiberante无法查询出id的有关问题
  详细解决方案

关于hiberante无法查询出id的有关问题

热度:9645   发布时间:2013-02-25 21:16:23.0
关于hiberante无法查询出id的问题
事情是这样的我想做一个树形结构的菜单,根据视频教程首先是类
public class Menu {
private int id;
private String name;
private String url;
private Menu menu;
private Set<Menu> child= new HashSet<Menu>();
getter和setter 略
}
配置文件menu.hbm.xml中
 <?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.test.hailang.model.Menu" table="j_menu">  
  <id column="id" type="integer">  
  <generator class="sequence" >
  <param name="sequence">HAILANG.MENU_ID</param>
  </generator>
   
  </id>
  <property name="name" type="string"></property>
  <property name="url" type="string"></property>
  <many-to-one name="menu" column="pid">
  </many-to-one>  
  <set name="child" cascade="all" inverse="true" >
  <key column="pid"></key>
  <one-to-many class="com.test.hailang.model.Menu"/>
  </set>
   
  </class>

</hibernate-mapping>
利用hibernate向数据库中插入单条数据、查询单条数据、删除单条数据都是没问题的,可是当我查询所有记录用
session.createQuery("from Menu") 时所有数据中的其它属性都是没问题的可是只有menu.getid()全部都 是0
我试着查询根结点然后列出它的子节点也是一样只有getid()全是0我输入了sql语句是这样的
select child0_.pid as pid1_, child0_.id as id1_, child0_.id as id1_0_, child0_.name as name1_0_, child0_.url as url1_0_, child0_.pid as pid1_0_ from j_menu child0_ where child0_.pid=1
它查询了两遍id我想问的是是不是这个原因导致我所有的id都是0啊,搞了两天了也没有个头绪知道的兄弟帮帮忙吧,百度也没有相关的帖子,希望知道怎么回事的朋友帮忙指点下,谢谢 。。。。急了 嗓子都坏了。

------解决方案--------------------------------------------------------
那个问题还没有解决啊 
你这样试试这个session.createQuery("from Menu").list();
这样应该行