[英]Spring Data JPA map the stored procedure result to Non-Entity POJO from multiple data source
[英]Execute stored procedures with multiple parameters and map ResultSet to non-entity class using spring data jpa
我們最近遷移到了Spring數據JPA(使用Spring-boot 2.1.5-RELEASE),並且需要執行具有多個輸入參數的存儲過程並映射到非實體POJO(我將在保存時將其設置為實體類的值)對象)。 誰能提供一個示例/說明如何實現? 我沒有太多的文檔資料,或者可能會想念我。
任何幫助,將不勝感激。
最直接,最簡單的解決方案是使用用戶SimpleJDBCCall
而SimpleJDBCCall
為此數據資源使用JPA。 該文檔廣泛涵蓋了參數。
這樣的事情會起作用:
public class MyDao implements SomeDao {
private JdbcTemplate jdbcTemplate;
private SimpleJdbcCall procReadStuff;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
this.procReadStuff = new SimpleJdbcCall(dataSource)
.withProcedureName("my_procedure");
}
public void readStuff(Long id) {
SqlParameterSource in = new MapSqlParameterSource()
.addValue("in_id", id);
Map out = procReadStuff.execute(in);
Stuff stuff = new Stuff();
stuff.setId(id);
stuff.setSomeString((String) out.get("out_some_string"));
// ...do something with Stuff POJO
}
}
該示例是從docs中的示例中提取/修改的: 文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.