首页 > 解决方案 > Spring hibernate mysql 默认列默认值

问题描述

我在表中有一些列,我在 mysql 中给出了一些默认值。我希望能够使用我在使用 java hibernate 运行的查询中设置的默认值

我有这个代码

 String updated_value = (String)query.uniqueResult();

@SuppressWarnings({
"rawtypes",
"deprecation"
})
Query theQuery = currentSession.createSQLQuery("update trades set trade_end_value = ?1 ,trade_status = 'DONE', trade_end_value_worker_status ='DONE' where trade_end_value_worker_status='UNDONE' AND trade_status='UNDONE'");
             theQuery.setParameter(1, updated_value);
             theQuery.executeUpdate();

当我在 mysql 工作台上尝试代码时,它会运行并更新,但是当我在 java 中执行此操作时,出现此错误

java.util.NoSuchElementException 在 org.hibernate.engine.jdbc.internal.BasicFormatterImpl$FormatProcess.perform(BasicFormatterImpl.java:118) 在 org.hibernate.engine 的 java.util.StringTokenizer.nextToken(StringTokenizer.java:349)。 jdbc.internal.BasicFormatterImpl.format(BasicFormatterImpl.java:75) 在 org.hibernate.engine.jdbc.spi.SqlStatementLogger.logStatement(SqlStatementLogger.java:89) 在 org.hibernate.engine.jdbc.spi.SqlStatementLogger.logStatement( SqlStatementLogger.java:77) 在 org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:167) 在 org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:148)在 org.hibernate.loader.Loader。prepareQueryStatement(Loader.java:1995) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1925) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1903) at org.hibernate.loader.Loader .doQuery(Loader.java:948) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:351) 在 org.hibernate.loader.Loader.doList(Loader.java:2702) 在 org.hibernate.loader。 Loader.doList(Loader.java:2685) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2517) at org.hibernate.loader.Loader.list(Loader.java:2512)loader.Loader.doQuery(Loader.java:948) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:351) at org.hibernate.loader.Loader.doList(Loader.java:2702) at org.hibernate .loader.Loader.doList(Loader.java:2685) 在 org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2517) 在 org.hibernate.loader.Loader.list(Loader.java:2512)loader.Loader.doQuery(Loader.java:948) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:351) at org.hibernate.loader.Loader.doList(Loader.java:2702) at org.hibernate .loader.Loader.doList(Loader.java:2685) 在 org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2517) 在 org.hibernate.loader.Loader.list(Loader.java:2512)

标签: javamysqlspringhibernate

解决方案


推荐阅读