方法-getHibernateTemplate().find(hql)返回值及引用传值问题

问题描述

getHibernateTemplate().find(hql)返回值及引用传值问题

//StudentDAO中的方法
public boolean getPoList(String hql, List poList){
boolean result = false;
try{
poList = getHibernateTemplate().find(hql);
result = true;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}

//StudentService中的方法
public boolean A{
boolean result = false;
 String hql = "FROM Student WHERE isDel='N'";
List poList = new ArrayList();
result = studentDAO.getPoList(hql, poList);
//使用poList的操作省略。。。。。。
return result;
}

debug时在getPoList方法中poList里面有内容,到达方法A时,poList为什么为没有内容(里面全部存放的是null)

解决方案

//StudentDAO中的方法
public boolean getPoList(String hql, List poList){
boolean result = false;
try{
poList = getHibernateTemplate().find(hql);
result = true;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
------------------------改成----------------------------
//StudentDAO中的方法
public boolean getPoList(String hql, List poList){
boolean result = false;
List tempPoList=new ArrayList();
try{
tempPoList = getHibernateTemplate().find(hql);

for(int i=0;i<tempPoList.size();i++){
poList.add(tempPoList.get(i));
}
result = true;
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
=============这样试试=======
貌似使用等号 poList = getHibernateTemplate().find(hql);不行,使用list的add方法。

解决方案二:

  1. 你是从A方法到的StudentDAO对应的方法,在A方法中你把断点设在return那一行,执行了StudentDAO在看看有没有数据
  2. 他的运行应该是 先从A一步一步往下走result = studentDAO.getPoList(hql, poList);到了这一步这个集合依然是空的 只有执行了 走到下一步这个集合如果从studentDAO得到了检索出来的数据那么这个集合才会有数据。否则也是空

解决方案三:

我刚才看了一下,断点打到A方法的return处,poList的内容还是null

解决方案四:

去看下JAVA的形参传递方式吧!

时间: 2024-11-08 18:58:20

方法-getHibernateTemplate().find(hql)返回值及引用传值问题的相关文章

Jquery each方法跳出循环,并获取返回值实例讲解

 这篇文章主要是对Jquery each方法跳出循环,并获取返回值进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 return false:将停止循环 (就像在普通的循环中使用 'break'). return true:跳至下一个循环(就像在普通的循环中使用'continue').  代码如下: function test(){ var success = false; $(..).each(function () {    if (..) {        success =

jquery post 方法调用asp文件返回值data问题换成用jsp

问题描述 jquery post 方法调用asp文件返回值data问题换成用jsp <%dim fname,city fname=Request.Form("name") city=Request.Form("city") Response.Write("Dear " & fname & ". ") Response.Write("Hope you live well in " &am

html-jquery post 方法调用asp文件返回值data问题

问题描述 jquery post 方法调用asp文件返回值data问题 <!DOCTYPE html> $(document).ready(function(){ $("button").click(function(){ $.post("demo_test_post.asp", { name:"Donald Duck", city:"Duckburg" }, function(data,status){ aler

HIBERNATE HQL返回值的提取

问题描述 String hql = "select d.div,d.div_desc from DivTbl d where div='0013'";Object o=(Object)getHibernateTemplate().find(hql);执行结果返回值为 Ljava.lang.Object如果是返回一个字段 如:d.div 可以(String) 强制转换成string但是返回两个字段.就不知道怎么转换了?返回recordset呢?请各位帮忙!谢谢! 问题补充:kxys422

Java方法、自变量和返回值

迄今为止,我们一直用"函数"(Function)这个词指代一个已命名的子例程.但在Java里,更常用的一个词却是"方法"(Method),代表"完成某事的途径".尽管它们表达的实际是同一个意思,但从现在开始,本书将一直使用"方法",而不是"函数". Java的"方法"决定了一个对象能够接收的消息.通过本节的学习,大家会知道方法的定义有多么简单! 方法的基本组成部分包括名字.自变量.返回类

Jquery each方法跳出循环,并获取返回值(实例讲解)_jquery

return false:将停止循环 (就像在普通的循环中使用 'break').return true:跳至下一个循环(就像在普通的循环中使用'continue'). 复制代码 代码如下: function test(){var success = false;$(..).each(function () {   if (..) {       success = true;       return false;   }}); return success ;} jquery是对象链,所以$

c++-C++ 类内函数以引用作为返回值(例如返回类内私有成员变量)

问题描述 C++ 类内函数以引用作为返回值(例如返回类内私有成员变量) 主函数中用参数a接受这个返回值,那么对a的改变会引起私有成员变量的改变吗? 解决方案 返回了引用就可以修改它指向的变量.这种方式通过函数来达到修改内部变量的方式.从而改变封装的行为.不过一般要清楚这么做的目的 解决方案二: 作为引用的变量,相当于一个别名:原理上是指向同一块内存,因此对引用变量的修改就会导致原始变量跟着修改. 解决方案三: 同一个对象当然会改变.通过共有方法将私有成员传出来是很常见的做法,比如设计模式中的单例

求大神指点 java无参带返回值方法问题

问题描述 求大神指点 java无参带返回值方法问题 max=(age>max)?age:max; 这这话是什么意思? 解决方案 max=(age>max)?age:max; 这是三步运算给max赋值,就相当于: f(age>max){ max=age; }else{ max=max; } 解决方案二: 如果age>max为真,则max=age,否则max=max 解决方案三: 如果age>max,就把age放入max 这个程序配合循环可以找到年纪最大的人 解决方案四: jav

函数返回值是否使用引用类型的问题:理解引用、返回值

在<对象更有用的玻璃罩--常引用>一文中,介绍了对象作为函数的参数时,推荐使用引用的形式.并且,如果实际参数的值不允许改变时,声明为常引用更佳. 在<第8周-任务1-方案3-复数类中运算符重载(与实数运算)>中,又讨论了一个问题,结论是:在类似复数加法运算符重载这样的函数,形式参数用作为常引用最佳,如: friend Complex operator + (const Complex &c, const double &d); friend Complex oper