Hibernate查询返回List<Object[]>的问题
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>啊?

1个回答

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

junsuck
junsuck 非常感谢。你的答案很正确。 在 criteria.setProjection(null);后加上criteria.setResultTransformer(Criteria.ROOT_ENTITY);就没问题了。
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!