Hibernate JPA在查询中实例化
我使用JPA2和Hibernate3.6作为提供程序 我有一些这样的代码:Hibernate JPA在查询中实例化,hibernate,jpa,jpa-2.0,Hibernate,Jpa,Jpa 2.0,我使用JPA2和Hibernate3.6作为提供程序 我有一些这样的代码: final List<Object[]> result = entityManager.createQuery("SELECT qt, tt FROM ...").getResultList(); 我有一个转换器,它将Object[]的列表转换为SimpleClass的列表,SimpleClass包含我的qt和tt实体 在JPA2中可以做这样的事情吗?在C和linq中,这是可能的 final List<
final List<Object[]> result = entityManager.createQuery("SELECT qt, tt FROM ...").getResultList();
我有一个转换器,它将Object[]的列表转换为SimpleClass的列表,SimpleClass包含我的qt和tt实体
在JPA2中可以做这样的事情吗?在C和linq中,这是可能的
final List<SimpleClass> result = entityManager.createQuery("SELECT new SimpleClass(qt, tt) FROM ...").getResultList();
谢谢。如果您已经映射了实体,您应该能够:
List<SimpleClass> result = entityManager
.createQuery("select s from SimpleClass s", SimpleClass.class)
.getResultList();
SimpleClass不是一个实体,它只是一个包含其他两个实体的包装器。也许您应该运行两个JPQL查询,并在SimpleClass实例中组合结果。在这种情况下,你可以免费获得OR映射。这是一个相关的问题/答案:你可以看看这个相关的答案,嗯,有趣的问题。我首先想到使用@MappedSuperclass作为包装器,但看起来您无法对其进行查询。我认为好的旧作文会起到借壳的作用。@landal79这正是我要寻找的,我会尽力做出反馈。谢谢。好的,这是一个很好的答案,但遗憾的是我在查询中使用了一些fetch,jpa抱怨:查询指定了join fetching,但是获取的关联的所有者不在选择列表中