2015-10-21 33 views
0

我使用Java,彈簧數據的JPA查詢的列名

有沒有去結果得到的查詢結果與列名稱和值的地圖?

something like: List<Map<String,object>> res = query.getResults(); 

編輯:

我發現this

它使用JDBC語句。

 String queryString = "Select auditTime From AuditPlayer ap Where ap.id = 1" 
     dbConnection = getDBConnection(); 
     statement = dbConnection.createStatement(); 
     // execute the SQL stetement 
     rs = statement.executeQuery(queryString); 
     rs.getString("auditTime") 

這個工作,但有沒有辦法使用*在選擇:

Select * From AuditPlayer ap Where ap.id = 1 

,現在叫列名? `rs.getString(「auditTime」)

我不斷收到錯誤。

回答

0

您可以使用JdbcTemplate返回一個column-name:column-value對的映射。例如:

public List<Map<String, Object>> getCustomers() { 
    return this.jdbcTemplate.queryForList("SELECT customer_id, customer_name FROM customers"); 
} 

這將返回:

[{'customer_id': 4005, 'customer_name': 'John Smith'}, {...}, ... ] 
+0

我編輯我的問題 – lior