我找不到适合我的问题的问题,所以我只出现了那个问题。 所以我想将我的查询问题的结果放到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个表,但我认为这无关紧要。我正确地获得了O.manufacturer和P.dispid,但我不知道如何把它放到像这样的hashmap中
O.manufacturer1 -> P.dispid1
O.manufacturer2 -> P.dispid2
O.manufacturer3 -> P.dispid3
[...]
这是我第一次使用hibernate,这可能就是为什么我有这个问题,我仍然不知道它是如何工作的。对不起我的英语和thx提前给出答案。它不一定是Map<String,String>
所以随时给我回答任何地图
答案 0 :(得分:1)
您可以迭代结果并将自己置于这样的地图中:
Query q = getSession().createQuery(SELECT_MANUFACTURER_PROJECT_DISP_ID);
for(Object o : q.list())
{
map.put(o.id(), o);
}
干杯!!