[英]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.