在Spring Boot中使用JPA调用StoredProcedure

时间:2017-06-09 03:58:05

标签: jpa spring-boot

我试图在使用JPA的Spring启动应用程序中调用mysql中构建的存储过程。我的存储过程返回单个模型中不能包含的结果,因为它从表组合中获取数据。 我可以通过“呼叫”来做到这一点,但我想这不是JPA的方式。请告诉我你最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您使用普通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);