由于遗留原因,我们有很多代码位于存储过程下。类似于Spring data(@Procedure),micronaut中有没有调用存储过程的方法。我是否必须注入(inject) entityManager 并使用 CreateNamedStoredProcedureQuery()。
List<String> results = entityManager.createNamedStoredProcedureQuery("procedureA")
.setParameter(0 , param1)
.setParameter(0 , param2)
....
.setParameter(20 , param20)
.getResultList();
最佳答案
下面的代码在 micronaut 中为我工作,用于调用 StoredProcedure -
@Inject
private EntityManager em;
@Transactional
@Override
public int callSP(int num) {
StoredProcedureQuery query = em.createStoredProcedureQuery("storelist.testSP1")
.registerStoredProcedureParameter("InputInt", Integer.class, ParameterMode.IN)
.registerStoredProcedureParameter("OutputInt", Integer.class, ParameterMode.OUT)
.setParameter("InputInt", num);
query.execute();
Integer result = (Integer) query.getOutputParameterValue("OutputInt");
return result;
}
关于micronaut - 调用存储过程 micronaut 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60605145/