我在做ssh开发的时候遇到个问题,利用hibernate中的query语句查询mysql数据库的值,返回list。
但是,如果数据库中没有符合的值的话,返回的值是什么
customers = this.getSession().createQuery("from Customer c where c.id_number=id_number")
.list();
if(customers!=null)
{
for(Iterator iter = customers.iterator();iter.hasNext();)
{
Customer customer = (Customer) iter.next();
if(customer!=null)
{
System.out.println(flag);
return customer;
}
}
}我用这个程序测试了下,感觉返回的值不是null值,所以想问下,如何判断query的返回值呢
还有个问题,我查询的时候,返回的总是list,如果我查询的值只有一个对象的,我还要把他放入list中,然后迭代出来,感觉很麻烦,有没有直接查询出来,放入一个object中呢????
但是,如果数据库中没有符合的值的话,返回的值是什么
customers = this.getSession().createQuery("from Customer c where c.id_number=id_number")
.list();
if(customers!=null)
{
for(Iterator iter = customers.iterator();iter.hasNext();)
{
Customer customer = (Customer) iter.next();
if(customer!=null)
{
System.out.println(flag);
return customer;
}
}
}我用这个程序测试了下,感觉返回的值不是null值,所以想问下,如何判断query的返回值呢
还有个问题,我查询的时候,返回的总是list,如果我查询的值只有一个对象的,我还要把他放入list中,然后迭代出来,感觉很麻烦,有没有直接查询出来,放入一个object中呢????
解决方案 »
- String.formak里面的%s,%d怎么用的?求解!
- tomcat启动时,怎么取得工程URL地址
- 谁有 Ajax 的 顶 功能啊
- ssh 级联查询遇到could not initialize proxy - the owning Session
- struts2+spring2+hibernate3 配置出现org.springframework.beans.NotWritablePropertyException
- 100分求助:如何用java实现把Excel文件(.xls)转换成.htm文件
- JAVA与DLL问题
- 如何读取网络中指定URL文件?
- 帮我看看jms这为什么错误
- 菜鸟关于hibernate初级问题,帮忙进来看下(都有分)
- EJB是不是JAVA BEAN 为什么呢?
- 有没人有基于java的垫在白板源代码啊
可以返回Student如果hql是这样:select c.name,s.name from Classes c ,Student s我知道的就是只能返回Object[]
Object[] obj= (Object[]) iter.next();
System.out.println("c.name:"+obj[0]);
System.out.println("s.name:"+obj[1]);
如果你是想要通过id得到一个对象的最好办法,就是不要写hql语句,用session高速缓存
session.get()或者session.load()来拿到object。
这样管理更方便
eg:List<Customer> testList=...
hibernate 除了返回Object[]外, 可以返回实体的
比如只要两个属性:
select new Classes(id,name) from Classes 这样就返回的是实体对象了,但必须在实体对象中定义对应的构造方法和不带参数的构造方法,否则会报错