Spring Hibernate:多个结果集映射

时间:2016-03-05 07:47:47

标签: spring hibernate

我想了解Spring数据存储库的局限性。

在查询数据库时,似乎Spring存储库只能返回实体或类似的集合,如string / int等。这是有道理的,因为Spring Repository是一个函数,函数只能返回一个结果。

那么如果我需要使用@Query注释执行一个复杂的sql,并期望多个结果呢?就像一组实体和一个数字。

我认为Spring Repository无法实现,所以如果我错了,请纠正我。

更重要的是,我怎么能用春天来做到这一点?

1 个答案:

答案 0 :(得分:0)

不,我不可能知道Repository使用查询,但是Spring ServiceImpl仍然使用Repository,你可以将EntityManager注入serviceImpl并使用它。例如,请参阅Getting started with Spring Data JPA

@PersistenceContext
private EntityManager em;

TypedQuery query = em.createQuery("select a from Account a where a.customer = ?1", Account.class);
query.setParameter(1, customer);
return query.getResultList();