Java MYSQL Hibernate 5.2 CreateStoredProcess

Java MYSQL Hibernate 5.2 CreateStoredProcess,java,mysql,hibernate,stored-procedures,Java,Mysql,Hibernate,Stored Procedures,下面是我调用mysql存储过程的代码 StoredProcedureQuery query = getCurrentSession().createStoredProcedureQuery("updateinselgibilitycount") .registerStoredProcedureParameter("ppatientinsid", Long.class, ParameterMode.IN) .registerStoredProcedu

下面是我调用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

注释您的方法。它与以下更正相关:

在某些情况下,数据库元数据是不正确的(即,当实际支持某个内容时,表示该内容不受支持)。在这种情况下,最好只记录一条警告。如果事实证明命名参数确实不受支持,那么稍后当命名参数绑定到SQL语句时,将抛出SQLException

因此,警告警告您不要调用查询命名参数元数据的方法

只需在hibernate日志中简单地禁用警告,就不会在控制台上发出警告。 在应用程序中设置以下属性。属性

logging.level.org.hibernate: ERROR