Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在hql中使用select*但获取值的地址_Java_Sql_Spring_Hibernate - Fatal编程技术网

Java 在hql中使用select*但获取值的地址

Java 在hql中使用select*但获取值的地址,java,sql,spring,hibernate,Java,Sql,Spring,Hibernate,我试图在满足条件时从数据库中获取所有值。但我只得到列表的地址,而不是列为“全部”时的值。我尝试使用,但不断得到一个错误java.lang.String。对于另一列,它工作正常。这是我在jsp中的代码 c:url var="actionUrl" value="process" /> <form id="student-form" method="post" action="${actionUrl }"> <select name="column"> <o

我试图在满足条件时从数据库中获取所有值。但我只得到列表的地址,而不是列为“全部”时的值。我尝试使用
,但不断得到一个错误java.lang.String。对于另一列,它工作正常。这是我在jsp中的代码

c:url var="actionUrl" value="process" />
<form id="student-form" method="post" action="${actionUrl }">
<select name="column">
    <option>All</option>
    <option>lastName</option>
    <option>firstName</option>
    <option>cpNum</option>
    <option>birthday</option>
    <option>grade</option>
</select>&nbsp

<select name="condition">
    <option>=</option>
    <option><</option>
    <option>></option>
    <option><=</option>
    <option>>=</option>
    <option>!=</option>
</select>&nbsp

<select id="gradeID" name="grades">
</select>&nbsp

<button id=submit>Submit</button><br/><br/>
</form>

<p>${studentList}</p>
学生指南

@SuppressWarnings("unchecked")
public List<Student> findData(String column, String condition, int grades)
{
    if(column.equals("All"))
    {
        String hql = "FROM Student x WHERE x.grade"+ condition +":grades";
        Query query = getSessionFactory().openSession().createQuery(hql);
        query.setParameter("grades", grades);
        List<Student> result = query.list();

        return result;
    }

    else
    {
        String hql = "SELECT x."+ column +" FROM Student x WHERE x.grade"+ condition +":grades";
        Query query = getSessionFactory().openSession().createQuery(hql);
        query.setParameter("grades", grades);
        List<Student> result = query.list();

        return (List<Student>)result;
    }
}
@SuppressWarnings(“未选中”)
公共列表findData(字符串列、字符串条件、整数等级)
{
如果(列等于(“全部”))
{
字符串hql=“来自学生x,其中x.grade”+条件+“:grades”;
Query Query=getSessionFactory().openSession().createQuery(hql);
query.setParameter(“等级”,等级);
列表结果=query.List();
返回结果;
}
其他的
{
String hql=“从学生x中选择x.”+列+”,其中x.grade“+条件+”:grades”;
Query Query=getSessionFactory().openSession().createQuery(hql);
query.setParameter(“等级”,等级);
列表结果=query.List();
返回(列表)结果;
}
}
学生道

public interface StudentDao 
{
  public List<Student> findData(String column, String condition, int grades);
}
公共接口StudentDao
{
公共列表findData(字符串列、字符串条件、整数等级);
}

用户迭代器并不断填充POJO并将其添加到列表中。

您应该这样使用

<c:forEach items="${studentList}" var="student">
    Name: <c:out value="${student.firstName} ${student.lastName}" />
    <!-- More data -->
</c:foreach>

姓名:

我不知道发生了什么,但我的forEach现在工作正常。顺便说一句,谢谢
<c:forEach items="${studentList}" var="student">
    Name: <c:out value="${student.firstName} ${student.lastName}" />
    <!-- More data -->
</c:foreach>