Java 使用CriteriaQuery重新检索类实例而不是对象数组

Java 使用CriteriaQuery重新检索类实例而不是对象数组,java,hibernate,jpa,jpa-2.0,Java,Hibernate,Jpa,Jpa 2.0,我在Hibernate中使用JPA2.0。 如果我想使用CriteriaQuery从表中选择某些列,我必须这样声明: CriteriaQuery<Object[]> criteria = cb.createQuery(Object[].class); Root<Event> root = criteria.from(Event.class); Path<Long> pid = root.get(Event_.id); Path<Date> did

我在Hibernate中使用JPA2.0。 如果我想使用CriteriaQuery从表中选择某些列,我必须这样声明:

CriteriaQuery<Object[]> criteria = cb.createQuery(Object[].class);
Root<Event> root = criteria.from(Event.class);
Path<Long> pid = root.get(Event_.id);
Path<Date> did = root.get(Event_.eventTime);
criteria.select( cb.array(pid, did) );
criteria.where(cb.lessThan(root.get(Event_.id), 10L));
List<Object[]> evs = em.createQuery( criteria ).getResultList();
for ( Object[] ev : evs ) {
    System.out.println(ev[0] + " " + ev[1]);
}

就像我使用Hibernate API的一个简单标准时一样。

所以你想减少输出?嗯,有点。。我想从事件中选择id、eventtime,并不是获取对象数组的列表,而是获取所有未选择属性都为null的事件实体类的列表
Event:
    id: 234
    typeid: null
    eventtime: 12-03-1990
    authorid: null
etc...