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