我试图将一些语句的sql结果限制为100,例如来自使用spring的Java应用程序和AS400中的一个AS400数据库的sql结果。
我尝试了这两件事,扩展了一个CrudRepository
public List<AcumuladoEstadistico> findFirst10BySincroEstado(String aEstado);还有这个
@Query(name="FROM AcumuladoEstadistico a WHERE a.sincroEstado = ?1 limit 5", countQuery="10")
Iterable<AcumuladoEstadistico> findFirst10BySincroEstado(String aEstado);但在这两种情况下,我都有以下错误
造成: java.sql.SQLException: SQL0104 Símbolo限制无válido。Símbolos válidos:用于跳过除优化之外的提取订单联合。在com.ibm.as400.access.JDError.throwSQLException(JDError.java:650) at com.ibm.as400.access.JDError.throwSQLException(JDError.java:621) at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:1557) at com.ibm.as400.access.AS400JDBCPreparedStatement.(AS400JDBCPreparedStatement.java:193) at com.ibm.as400.access.AS400JDBCConnection.prepareStatement(AS400JDBCConnection.java:2025) at com.ibm.as400.access.AS400JDBCConnection。prepareStatement(AS400JDBCConnection.java:1824) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native () at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(未知源) at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)在org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) at com.sun.proxy.$Proxy61.prepareStatement(Unknown Source)在org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:162) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186) .
为什么我有这个问题,也许Hibernate没有为DB2正确地创建语句?我能做什么?
非常感谢!
发布于 2015-07-28 10:57:39
最后,我发现了这个问题,我在sping的属性中使用了不正确的方言
非常感谢!
https://stackoverflow.com/questions/31673268
复制相似问题