Hibernate query.list()查询结果为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate query.list()查询结果为空相关的知识,希望对你有一定的参考价值。

代码很简单,如下:

private static SessionFactory sf = null;

@SuppressWarnings("unchecked")
@Override
public List<DetailAccount> findAllDetails() throws DAOException
sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from DetailAccount");
List<DetailAccount> details = query.list();
session.getTransaction().commit();
return details;

在执行List<DetailAccount> details = query.list()的时候,details的size=0,查询不到数据;
但是在控制台打印出hibernate生成的sql,放到数据库中去执行,能查到数据,生成的sql如下:
select
detailacco0_.id as id4_,
detailacco0_.amount as amount4_,
detailacco0_.category as category4_,
detailacco0_.note as note4_,
detailacco0_.occurDate as occurDate4_
from detailaccount detailacco0_;

参考技术A List<DetailAccount> details = (List<DetailAccount>)query.list();

servlet用HQL查询语句返回的结果集query.list()怎么进行判别是不是为空,或者说 结果集里有几组结果怎么查询

String hql = "from Carpark c where c.parkno=? and c.companyno=?";// HQL语句
Query query = session.createQuery(hql);
query=query.setParameter(0,Integer.parseInt(parkno))
.setParameter(1,"");
list=query.list();

参考技术A 你都已经拿出来List还怕不知道判断啊
List里有一个方法isEmpty()返回boolea值 true不为空 否则为空
另外一种通过
if(list!=null && list.size()>0)
不为空
参考技术B boolean b = list.isEmpty();
if(b == true)list为空
else list不为空
******************************
int len = list.size();得出有几组数据本回答被提问者采纳

以上是关于Hibernate query.list()查询结果为空的主要内容,如果未能解决你的问题,请参考以下文章

hibernate query.list() 返回的数据类型

hibernate 中 query.list()的优化

Hibernate HQL - query.list() 返回对象数组的对象数组

Hibernate query.list() 方法返回空列表而不是空值

Hibernate Query.list 返回实际的 Object 实例而不是预期的类型

hibernate的hql语句条件查询查不到结果?