java - MYSQL Hibernate 5.2 createStoredProcedureQuery

标签 java mysql hibernate stored-procedures

这是我调用 mysql 存储过程的代码

StoredProcedureQuery query = getCurrentSession().createStoredProcedureQuery("updateinselgibilitycount")
            .registerStoredProcedureParameter("ppatientinsid", Long.class, ParameterMode.IN)
            .registerStoredProcedureParameter("pencounterID", Long.class, ParameterMode.IN)
            .setParameter("ppatientinsid", ppatientinsid).setParameter("pencounterID", encounterID);
    query.execute();

我收到以下错误

    10:04:42.167 [http-nio-8080-exec-3] WARN  o.h.p.internal.ProcedureCallImpl - HHH000456: Named parameters are used for a callable statement, but database metadata indicates named parameters are not supported.
Hibernate: 
    {call updateinselgibilitycount(?,?)}
10:04:42.329 [http-nio-8080-exec-3] ERROR c.p.w.utilities.ExceptionHandler - User ID : 1 
Error : org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:413)
    at org.springframework.orm.hibernate5.HibernateExceptionTranslator.translateExceptionIfPossible(HibernateExceptionTranslator.java:54)
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)

最佳答案

您需要一个事务来执行存储过程。使用 @Transactional 注释您的方法

关于java - MYSQL Hibernate 5.2 createStoredProcedureQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41477423/

相关文章:

java - 检查浏览器代理的实用程序

mysql - 如果只知道月份和年份,存储在 DATE MySQL 变量中的适当值是多少?

mysql - 'Date' 的默认值无效

java - 了解hibernate缓存

java - Oreo 8.0 - 'sendTextMessage()' 未将邮件保存到已发送文件夹

java - 使用 setCurrentID 时在 TOC 中选择 JavaHelp 主题

php - 用户 "apache"应该拥有我的 SQLite 数据库吗?

java - 多 Maven 模块项目中的 Spring MVC

sql - hibernate.hbm2ddl.auto 不会将序列链接到 id 列

java - ORA-12516, TNS :listener could not find available handler