2016-03-05 88 views
0

我想了解Spring數據存儲庫的侷限性。Spring Hibernate:多結果集映射

在查詢數據庫時,似乎Spring存儲庫只能返回實體,或者像string/int等類型的集合。它是有意義的,因爲Spring存儲庫是一個函數,函數只能返回一個結果。

那麼,如果我需要使用@Query註釋執行complexe sql,並期望多個結果呢?像實體和數字的集合。

我不認爲這是可能的與彈簧庫,所以如果我錯了,請糾正我。

更重要的是,我怎樣才能通過使用彈簧來做到這一點?

回答

0

不,我不可能知道存儲庫可以使用查詢,但無論如何,存儲庫由Spring ServiceImpl使用,您可以將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();