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

using select * in hql but getting the address of the value

我正在尝试在满足条件时从数据库中获取所有值。但是当列为 ALL 时,我只得到列表的地址而不是值。我尝试使用 <c:forEach>,但我一直收到错误 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>

控制器

@RequestMapping(value = "/process", method = RequestMethod.POST)
public String process(@RequestParam(value="column", defaultValue="") String column,
        @RequestParam(value="condition", defaultValue="") String condition,
        @RequestParam(value="grades", defaultValue="") int grades, ModelMap model)
{
    model.addAttribute("studentList", studentDao.findData(column, condition, grades));
    return "StudentForm";
}

StudentDaoImpl

@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;
    }
}

StudentDao

public interface StudentDao 
{
  public List<Student> findData(String column, String condition, int grades);
}

用户迭代器并不断填充 pojo 并将它们添加到列表中。

你应该这样使用<c:foreach>

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