我正在传递模型 class 对象,但它打印的是普通对象

i am passing a model class object but it print ad normal object

我正在传递休眠模型 class 对象类型列表,但它打印为 [Ljava.lang.Object;@1ec3adc.i 我正在使用 spring mvc 和 tile hibernate.i想要传递 "Subtab" 类型 list.but 它正在传递 "object" 类型列表。

这是返回列表的代码:

DAO 实现:

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);

服务实现:

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

请阅读 Hibernate 文档: https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/queryhql.html

Queries can return multiple objects and/or properties as an array of type Object[]

如果您想 return 子选项卡对象,请将您的查询更改为

SELECT s FROM Subtab s ...

另外,请在查询中使用绑定变量,因为这样您以后会避免很多陷阱。