0 0

Hibernate查询返回List<Object[]>的问题10

Criteria criteria = session.createCriteria(EntityA.class);
int totalCount = ((Long) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
criteria.setProjection(null);
List results = criteria.setFirstResult(params.getStartIndex()).setMaxResults(params.getPageSize()).list();

 EntityA中有ManyToOne,如下:
@ManyToOne(fetch = FetchType.EAGER)
@Fetch(FetchMode.JOIN)
@JoinColumn(name = "COLUMN1")

private EntityB entityB;

 

发现通过hibernate的list()方法得到的List实际是:List<Object[]>,而不是List<EntityA>。

List<Objec[]>中的Object[0]是entityB,Object[1]是entityA。

 

请教各位高手如果返回的是List<EntityA>啊?

2012年10月20日 12:02

1个答案 按时间排序 按投票排序

0 0

采纳的答案

试试
setResultTransformer(Criteria.ROOT_ENTITY)  //或ROOT_ALIAS

2012年10月20日 12:08

相关推荐

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map&lt;String, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List&lt;Map&lt;String, Object&gt;...

    hibernate 教程

    Hibernate查询语言(Query Language), 即HQL&lt;br&gt;11.1. 大小写敏感性(Case Sensitivity)&lt;br&gt;11.2. from 子句&lt;br&gt;11.3. 联合(Associations)和连接(joins)&lt;br&gt;11.4. select子句&lt;br&gt;11.5. 统计函数(Aggregate ...

    DataTable 数据存储,FindData数据查询

    List&lt;List&lt;Object&gt;&gt; results = new ArrayList&lt;&gt;(); for (List&lt;Object&gt; row : dataTable.getData()) { boolean match = false; for (Object value : row) { if (value.toString().contains(keyword)) { match =...

    hibernate

    Hibernate查询语言(Query Language), 即HQL&lt;br&gt;11.1. 大小写敏感性(Case Sensitivity)&lt;br&gt;11.2. from 子句&lt;br&gt;11.3. 联合(Associations)和连接(joins)&lt;br&gt;11.4. select子句&lt;br&gt;11.5. 统计函数(Aggregate ...

    Java实现的分页工具类

    List&lt;T&gt; dataList = new ArrayList&lt;&gt;(); while (rs.next()) { T data = ...; // 反射或者使用ORM框架如MyBatis获取数据对象 dataList.add(data); } // 计算总记录数 Statement countStmt = conn....

    Spring/泛型Hibernate的实现

    public List&lt;T&gt; find(String hql, Object... values) { return (List&lt;T&gt;) this.hibernateTemplate.execute(new HibernateCallback() { @Override public Object doInHibernate(Session session) throws ...

    JSON--List集合转换成JSON对象详解

    文中提到,直接使用fromObject(list)方法在Hibernate级联操作关联的对象上会报错,如果需要保留级联操作,就必须去掉映射文件中的级联配置。这是因为在进行JSON序列化时,Hibernate的关联关系可能会导致异常。 4. ...

    Spring 和hibernate集成自学笔记

    List&lt;User&gt; find(String queryString, Object value); // 示例:List&lt;User&gt; users = this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); ``` - **模糊查询** ```java List&lt;User&gt; ...

    hibernate 通用分页

    return new Page&lt;&gt;(pageNo, pageSize, totalCount, records); } // 获取总记录数的辅助方法... private static Long getCount(Session session, String hql, Map&lt;String, Object&gt; params) { // ... } } ``` ...

    hibernate查询代码

    List&lt;Object[]&gt; userRecords = query.list(); ``` 每种查询方式都有其适用场景,开发者可以根据具体需求选择合适的方法。在实际项目中,通常会结合使用这些查询方式,以实现最佳的性能和灵活性。 最后,`...

    Hibernate 参数查询通用方法

    Map&lt;String, Object&gt; params = new HashMap&lt;&gt;(); params.put("username", username); return queryByParams("from User as u where u.username = :username", params); } } ``` 这样的设计使得代码更加模块化,...

    hibernate自定义查询

    List&lt;Object[]&gt; results = sqlQuery.list(); ``` 五、QueryDAO和QueryNamedDAO 从文件名称`QueryDAO.java`和`QueryNamedDAO.java`推测,它们可能是包含自定义查询逻辑的数据访问对象(DAO)。DAO模式是将业务逻辑与...

    JPA--HQL查询(手动写原生查询sql,复杂查询必备).pdf

    在查询结果处理方面,需要根据返回的结果来定义接收数据类型,例如,返回的结果是一个列表,可以使用 List&lt;Object[]&gt; 来接收,然后遍历列表,处理每个元素。 以下是 HQL 查询的示例代码: 首先,添加 ...

    hibernate criteria 分组 排序 关联

    List&lt;Object&gt; groupedByAge = criteria.list(); Iterator&lt;Object&gt; iterator = groupedByAge.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } ``` ### 五、组合多个投影...

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    public List&lt;MyEntity&gt; testCache() { return repository.findAll(); } } ``` 通过以上步骤,我们就成功地在Spring Boot 2.1.4.RELEASE项目中配置了使用Redis作为Hibernate二级缓存的环境。这将显著提升数据库...

    超好用的hibernate查询工具类

    例如`public List&lt;T&gt; findByExample(T exampleEntity)`,可以基于一个实例对象的属性来构建查询条件。 3. **分页查询**:为了提高性能,通常需要进行分页查询。工具类可以提供如`public Page&lt;T&gt; findPage(Class&lt;T&gt; ...

    Intellij IDEA搭建SSM+Bootstrp+分页

    Map&lt;String, Object&gt; result = new HashMap&lt;&gt;(); result.put("total", userPage.getTotal()); result.put("rows", userPage.getList()); return result; } } ``` 前端页面根据返回的分页数据渲染Bootstrap的...

    Hibernate的Template方法以及SQL简介

    - `List findByNamedQuery(String queryName)`:根据命名查询返回实体集合。 - `Object get(Class entityClass, Serializable id)`:根据主键加载特定持久化类的实例。 3. **插入与更新操作** - `void save...

    通用的hibernate查询

    List&lt;Object[]&gt; result = session.createQuery(hql).list(); ``` 这将返回一个包含年龄和对应用户数的列表。 在实际开发中,为了提高代码的复用性和可维护性,我们通常会封装一个通用的分页查询方法。这个方法接受...

    maven搭建项目:springmvc+hibernate

    List&lt;User&gt; users = userService.getAllUsers(); model.addAttribute("users", users); return "users"; } } ``` 这里,我们假设有一个UserService类,它使用HibernateTemplate来查询数据库。当用户访问/users...

Global site tag (gtag.js) - Google Analytics