вызов сохраненных данных микронавта
По причинам устаревания у нас есть много кода, который находится в хранимых процедурах. Подобно данным Spring (@Procedure), в micronaut есть способ вызывать хранимые процедуры. Нужно ли мне вводить entityManager и использовать CreateNamedStoredProcedureQuery().
List<String> results = entityManager.createNamedStoredProcedureQuery("procedureA")
.setParameter(0 , param1)
.setParameter(0 , param2)
....
.setParameter(20 , param20)
.getResultList();
1 ответ
Ниже код работал у меня в микронавте для вызова 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;
}