I am using Hibernate JPA. I have below Oracle Stored procedure.
CREATEORREPLACEPROCEDURE PROC_AB
(
in_name VARCHAR2,
in_lastname VARCHAR2,
Check this SO question:
First you define the stored procedure named native query:
@javax.persistence.NamedNativeQuery(name = "call_proc_ab", query = "{ call PROC_AB(:cmpid,:status,?) }", resultClass = Long.class, hints = {
@javax.persistence.QueryHint(name = "org.hibernate.callable", value = "true") })
Then you execute it using:
TypedQuery<Long> query = entityManager.createNamedQuery("call_proc_ab", Long.class);
query.setParameter("cmpid",cmpid);
query.setParameter("status",status);
Long empId = query.getSingleResult();