0
我想在使用JPA的Spring引导应用程序中调用存储过程,该存储过程是在mysql中构建的。我的存储过程返回不能包含在单个模型中的结果,因为它从表的组合中获取数据。 我可以用“call”来做到这一点,但我想这不是JPA的方式。请告诉我,什么是最好的办法?在Spring Boot中使用JPA调用StoredProcedure
我想在使用JPA的Spring引导应用程序中调用存储过程,该存储过程是在mysql中构建的。我的存储过程返回不能包含在单个模型中的结果,因为它从表的组合中获取数据。 我可以用“call”来做到这一点,但我想这不是JPA的方式。请告诉我,什么是最好的办法?在Spring Boot中使用JPA调用StoredProcedure
如果您使用普通JPA,则需要执行本地查询调用。像下面的东西。
Query q = em.createNativeQuery("select my_store_pro(?, ?)");
List<Object[]> results = q.getResultList();
for (Object[] a : results) {
System.out.println("result " + a[0] + " " + a[1]);
}
如果您使用的是Spring Data存储库,那么您需要类似下面的内容。
@Query(nativeQuery = true, value = "select my_store_pro(?, ?)")
Date callMyStoreProc(int val1, int val2);
JPA有其自己的存储过程查询API,这是调用这样的事情,并不知道你在做什么。 http://www.datanucleus.org/products/accessplatform_5_1/jpa/query.html#stored_procedures –