当前位置: 代码迷 >> Java Web开发 >> 【新手】hql语句查询有关问题
  详细解决方案

【新手】hql语句查询有关问题

热度:196   发布时间:2016-04-16 21:48:30.0
【新手求救】hql语句查询问题
本人禽兽   学习hql遇到问题请求支援
public static void main(String args[]){
Session session = HibernateUtil.getSessionFactory().openSession();
Query query  =  session.createQuery("from House");
List<House> list = query.list();
Iterator<House> it = list.iterator();
System.out.println("我运行了");
while(it.hasNext()){
House house = it.next();
System.out.println(house.getDescription()+" "+house.getTitle());
}
System.out.println("我运行即将结束");
session.close();
}
}

我的House里有数据的 但是运行结果 如下
Hibernate: 
    select
        house0_.id as id3_,
        house0_.user_id as user2_3_,
        house0_.type_id as type3_3_,
        house0_.street_id as street4_3_,
        house0_.title as title3_,
        house0_.description as descript6_3_,
        house0_.price as price3_,
        house0_.pubdate as pubdate3_,
        house0_.adddate as adddate3_,
        house0_.floorage as floorage3_,
        house0_.contact as contact3_ 
    from
        house house0_
我运行了
我运行即将结束
-------------------------------------------------------------
为什么迭代不出东西来呢?
------解决思路----------------------
没有进入while循环,list为0
 List<House> list = query.list();
System.out.println(list.size());//看结果是否为0

------解决思路----------------------
是0应该没数据吧,没报错的话!
------解决思路----------------------
select * from House在数据库里执行下看看,如果没有数据,加几条数据就行了
------解决思路----------------------
应该是没数据吧
------解决思路----------------------
同上,没得数据
------解决思路----------------------
哎  骚年 需努力啊
------解决思路----------------------
循环进入了吗?List的size大小查看一下,你打断点单步调试就能看的清清楚楚!
用Debug启动
------解决思路----------------------
1、插入的数据确认commit了吧(在数据库中存在)?
2、获取session改为这样试试
Session session = HibernateUtil.getSessionFactory().getSession();

------解决思路----------------------
引用:
Quote: 引用:

循环进入了吗?List的size大小查看一下,你打断点单步调试就能看的清清楚楚!
用Debug启动

发现了是没有数据  没有权限 给了权限就好了
另外问一下  运行后出现这个错误
No row with the given identifier exists: [com.pb.entity.HouseUser#5]
我检查不出来了  
<?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.pb.entity.House" table="house" lazy="false">
<id name="id" type="int">
<column name="id" />
<generator class="assigned">
</generator>
</id>
<many-to-one name="houseUser" class="com.pb.entity.HouseUser"
cascade="none" fetch="join">
<column name="houseuser_id" />
</many-to-one>
<many-to-one name="houseType" class="com.pb.entity.HouseType"
cascade="none" fetch="join">
<column name="type_id" />
</many-to-one>
<many-to-one name="street" class="com.pb.entity.Street"
cascade="none" fetch="join">
<column name="street_id" />
</many-to-one>
<property name="title" type="string">
<column name="title" length="50" not-null="false" />
</property>
<property name="description" type="string" lazy="false">
<column name="description" />
</property>
<property name="price" type="double">
<column name="price" precision="10" scale="4" not-null="false" />
</property>
<property name="pubdate" type="date">
<column name="pubdate" length="23" />
</property>
<property name="adddate" type="date">
    <column name="adddate" length="23" />
</property>
<property name="floorage" type="double">
<column name="floorage" length="10" />
</property>
<property name="contact" type="string">
<column name="contact" length="10" />
</property>

</class>
</hibernate-mapping>

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
这是house
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
  相关解决方案