從Java / JPA調(diào)用存儲過程我正在編寫一個簡單的Web應(yīng)用程序來調(diào)用存儲過程并檢索一些數(shù)據(jù)。它是一個非常簡單的應(yīng)用程序,它與客戶端的數(shù)據(jù)庫進行交互。我們傳遞員工ID和公司ID,存儲過程將返回員工詳細(xì)信息。Web應(yīng)用程序無法更新/刪除數(shù)據(jù)并且正在使用SQL Server。我正在Jboss AS中部署我的Web應(yīng)用程序。我應(yīng)該使用JPA來訪問存儲過程或CallableStatement。在這種情況下使用JPA的任何優(yōu)點。另外,調(diào)用此存儲過程的sql語句是什么。我之前從未使用過存儲過程,而且我正在努力解決這個問題。谷歌沒有多大幫助。這是存儲過程:CREATE procedure getEmployeeDetails (@employeeId int, @companyId int)asbegin
select firstName,
lastName,
gender,
address from employee et where et.employeeId = @employeeId
and et.companyId = @companyIdend更新:對于其他任何使用JPA調(diào)用存儲過程的問題。Query query = em.createNativeQuery("{call getEmployeeDetails(?,?)}",
EmployeeDetails.class)
.setParameter(1, employeeId)
.setParameter(2, companyId);List<EmployeeDetails> result = query.getResultList();我注意到的事情:參數(shù)名稱對我不起作用,因此請嘗試使用參數(shù)索引。更正sql語句{call sp_name(?,?)}而不是 call sp_name(?,?)如果存儲過程返回結(jié)果集,即使您只知道一行,也getSingleResult不會工作傳遞resultSetMapping名稱或結(jié)果類詳細(xì)信息
從Java / JPA調(diào)用存儲過程
蠱毒傳說
2019-08-06 17:11:04