Java 运行mysql存储过程会引发hibernate异常:“0”;数据截断:截断的双精度值不正确:';不适用'&引用;

Java 运行mysql存储过程会引发hibernate异常:“0”;数据截断:截断的双精度值不正确:';不适用'&引用;,java,mysql,hibernate,jdbc,Java,Mysql,Hibernate,Jdbc,出于某种奇怪的原因,当我通过hibernate执行mysql存储过程时,它将字符串“N/a”解释为双精度值并抛出一个错误。当直接在mysql中运行同一个查询时,一切正常,但Hibernate似乎认为我在尝试划分?如果所有内容都保持相同的“NA”,则存储过程将通过hibernate毫无问题地运行 你知道如何让蛰刺在冬眠中被接受吗 电话: def query = session.createSQLQuery("call myproc (:id, :date)") .

出于某种奇怪的原因,当我通过hibernate执行mysql存储过程时,它将字符串“N/a”解释为双精度值并抛出一个错误。当直接在mysql中运行同一个查询时,一切正常,但Hibernate似乎认为我在尝试划分?如果所有内容都保持相同的“NA”,则存储过程将通过hibernate毫无问题地运行

你知道如何让蛰刺在冬眠中被接受吗

电话:

 def query = session.createSQLQuery("call myproc (:id, :date)")
                .setParameter("id", 168)
                .setParameter("date", "2015-02-01").executeUpdate()
存储过程的一部分:

insert table1
      ( myvarchar255field)
        ( select "N/A"
          from table2
          where [something else happens]);
org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTy>peDelegate.java:69) 在 org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126) 在 org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211) 在 org.hibernate.engine.query.spi.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:211) 在 org.hibernate.internal.SessionImpl.ExecutentiveUpdate(SessionImpl.java:1310) 在 org.hibernate.internal.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:389) 在 原因: com.mysql.jdbc.MysqlDataTruncation:数据截断:截断 不正确的双精度值: com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3885)位于 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)位于 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)位于 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)位于 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530)位于 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907) 在 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2141) 在 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2077) 在 com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2062) 在 org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208) ... 4更多


异常引用存储过程中插入值“N/a”的插入,该值更改为“NA”时不会出现问题。hibernate中的“/”有些地方解释错误,即使它周围有引号。请确认,当您使用调试器时,它肯定会在executeUpdate方法中引发异常?你能出示你的程序吗?是的,肯定在那里。我不能发布全部内容,但包含“N/A”字符串的部分是这样的:您的代码没有显示出来。编辑您的问题并添加它,而不是将其放在评论中。对此表示抱歉。请参见上文,异常引用存储过程中的插入值,该插入值为“N/a”,当更改为“NA”时,不会出现问题。hibernate中的“/”有些地方解释错误,即使它周围有引号。请确认,当您使用调试器时,它肯定会在executeUpdate方法中引发异常?你能出示你的程序吗?是的,肯定在那里。我不能发布全部内容,但包含“N/A”字符串的部分是这样的:您的代码没有显示出来。编辑您的问题并添加它,而不是将其放在评论中。对此表示抱歉。请参见上文,异常引用存储过程中的插入值,该插入值为“N/a”,当更改为“NA”时,不会出现问题。hibernate中的“/”有些地方解释错误,即使它周围有引号。请确认,当您使用调试器时,它肯定会在executeUpdate方法中引发异常?你能出示你的程序吗?是的,肯定在那里。我不能发布全部内容,但包含“N/A”字符串的部分是这样的:您的代码没有显示出来。编辑您的问题并添加它,而不是将其放在评论中。对此表示抱歉。请看上面