我正在传递hibernate模型类对象类型列表,但它打印为[Ljava.lang.Object; @ 1ec3adc.i正在使用spring mvc和tile hibernate.i想要传递" Subtab"键入list.but它传递"对象"类型列表。
这里是返回列表的代码:
DAOImpl:
public List<Subtab> listSubtab(int usertype){
List<Subtab> subtablist=sessionFactory.getCurrentSession().createQuery("SELECT s.maintab, s.description, s.ref from Subtab s,Authintication a where s.subtabId = a.subtab and a.usertype = '" + usertype + "'")
.list();
return subtablist;
}
控制器:
List<Subtab> subtablist=(List<Subtab>)loginService.listSubtab(userExists);
model.addAttribute("SubtabsList",subtablist);
DAO:
public List<Subtab> listSubtab(int usertype);
服务:
public List<Subtab> listSubtab(int usertype);
serviceImpl:
@Transactional
public List<Subtab> listSubtab(int usertype) {
return loginDAO.listSubtab(usertype);
}
jsp:
<c:if test="${not empty SubtabsList}">
<c:forEach var="ob" items="${SubtabsList}">
<p>${ob}</p>
</c:forEach>
</c:if>
答案 0 :(得分:0)
请浏览Hibernate文档: https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/queryhql.html
查询可以将多个对象和/或属性作为数组返回 输入Object []
如果要返回Subtab对象,请将查询更改为
SELECT s FROM Subtab s ...
另外请在查询中使用绑定变量,因为将来会避免很多陷阱。