如何使用休眠实体管理器在Spring Boot中使用输出参数调用MySQL存储过程

Kathiravan Ramaswamy:

我正在尝试使用Hibernate createNativeQuery方法调用带out参数的存储过程有什么方法可以使用setParameter方法来实现传递参数吗?

Kathiravan Ramaswamy:
     @PersistenceContext 
private EntityManager entitymanager;
     @Override
            public String function(int id, int emp_id, String letype, String days, Date fromdate, Date todate, String reason,
                    String backup, int user_id) {

                //Session session = entitymanager.unwrap(Session.class);

                StoredProcedureQuery  applyLeave = entitymanager.createStoredProcedureQuery("sp_apply_leave");

                applyLeave.registerStoredProcedureParameter("p_id", Integer.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_emp_id", Integer.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_letype", String.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_days", String.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_fmdate", Date.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_todate", Date.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_reason", String.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_backper", String.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("p_user_id", Integer.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("error_msg", String.class, ParameterMode.INOUT);


                applyLeave.setParameter("p_id", id);
                applyLeave.setParameter("p_emp_id" , emp_id);
                applyLeave.setParameter("p_letype" , letype);
                applyLeave.setParameter("p_days" , days);
                applyLeave.setParameter("p_fmdate" , fromdate);
                applyLeave.setParameter("p_todate" , todate);
                applyLeave.setParameter("p_reason" , reason);
                applyLeave.setParameter("p_backper" , backup);
                applyLeave.setParameter("p_user_id" , user_id);
                applyLeave.setParameter("error_msg", new String("error_msg"));
                //applyLeave.executeUpdate();

                String error_msg = (String) applyLeave.getOutputParameterValue("error_msg");
                return error_msg;

            }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Spring JPA(休眠)实体管理器何时将连接返回到连接池?

如何使用休眠在Spring Boot中调用MySQL存储过程?

如何使用Spring Boot和Spring数据访问实体管理器

如何使用休眠获取Mysql存储过程的输出参数?

使用 Spring JPA 持久实体管理器时如何处理角色交换?

在服务中使用实体管理器

如何使用mysql使用输入和输出参数在Entity Framework Core中调用存储过程

在Spring应用程序中使用存储库或实体管理器更好吗?

如何在Laravel中使用OUT参数调用MySQL存储过程

如何在 Google App Script 中使用参数调用 MySQL 存储过程?

Spring Boot数据休眠事务管理器

如何在python中使用参数调用存储过程?

JPA,spring-boot,使用旧的未注释类配置实体管理器

在 Spring Boot 中进行单元测试时使用实体管理器检查创建的查询

在C#中使用参数调用存储过程

在 PHP 中使用 OUT 参数调用存储过程

在SQL Server中使用空数据参数调用存储过程

使用多个实体管理器解析目标实体

Spring,Hibernate,JPA-为什么我不使用实体管理器,为什么casacdeType.Persist仅与实体管理器一起使用

JPA实体管理器如何在Spring Boot Application中选择连接池?

如何在多个实体管理器中使用Symfony自动装配

在特定实体对象的存储库中使用其他实体管理器

如何使用输入参数调用存储过程并使用输出参数填充文本框?

实体管理器@Enumerated(EnumType.STRING)-如何使其使用toString()?

如何在没有实体管理器的情况下使用 JPA setMaxResults() (LIMIT 20)?

在春季使用实体管理器实现分页

使用学说实体管理器创建新元素?

使用实体管理器进行SQL查询

正确使用实体管理器的Find()方法