0
我找不到適合我的問題的問題,所以我只用這個問題。 所以我想把我的成績從我的查詢問題HashMap的,我的問題是某事像這樣如何在連接時使用hibernate sql時將結果添加到java hashmap?
import org.hibernate.Query;
private static final String SELECT_MANUFACTURER_PROJECT_DISP_ID = "SELECT O.manufacturers, P.dispid" +
"FROM offerOrder O" +
"JOIN offerOrderProjectRel R" +
"ON O.id = R.offerOrderId" +
"JOIN project P" +
"ON P.id = R.projectId" +
"WHERE O.type = 'ORDER'";
public Map <String,String >createManufacturerProjectDispIdMap() {
Map<String, String> map = new LinkedHashMap<String, String>();
Query q = getSession().createQuery(SELECT_MANUFACTURER_PROJECT_DISP_ID);
return map;
}
正如你可以看到3個表連接的IM,但我認爲這並不重要。我得到正確和O.manufacturer P.dispid,但我不知道如何把它變成HashMap中這樣
O.manufacturer1 -> P.dispid1
O.manufacturer2 -> P.dispid2
O.manufacturer3 -> P.dispid3
[...]
這是我第一次與休眠所以也許這就是爲什麼我有這個問題,我仍然不知道它是如何工作的。對不起,我的英語和thx提前回答。它不必須是Map<String,String>
所以隨時給我任何地圖回答
的createQuery後,q.list()給出名單。使用迭代器遍歷此列表並將所需的數據項放入hashmap中。 – rags
您可以使用ResultSetTransformers。請參考以下鏈接的答案傢伙 http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate/transform/Transformers.html –
謝謝,我檢查了兩個解決方案的又都是工作,忘記我可以迭代,並且ResultSetTransformers看起來也是可靠的解決方案。 – ojciecmatki