liweeee commented on issue #30681: URL: https://github.com/apache/shardingsphere/issues/30681#issuecomment-2024662506
## Bug Report **For English only**, other languages will not accept. Before report a bug, make sure you have: - Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere/issues). - Read documentation: [ShardingSphere Doc](https://shardingsphere.apache.org/document/current/en/overview). Please pay attention on issues you submitted, because we maybe need more details. If no response anymore and we cannot reproduce it on current information, we will **close it**. Please answer these questions before submitting your issue. Thanks! ### Which version of ShardingSphere did you use? 5.4.1 ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy? ShardingSphere-JDBC ### Expected behavior Replace encrypted fields with jpa parameters for like queries ### Actual behavior The actual SQL after being rewritten by shardingsphere has parameters that have not been converted by the CHAR-DIGEST-LIKE algorithm, and parameter setting exceptions have occurred, error message:java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0) ### Reason analyze (If you can) ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc. jpa method: @Query("select u from AccountEntity u where u.mobile LIKE %?1%") List<AccountEntity> findByMobileLike1(String mobile); yml configuration mobile: name: mobile_ming #实际物理列名 明文列 cipher: name: mobile_cipher # 密文列名称 encryptorName: aes_encryptor # 密文列加密算法名称 assistedQuery: name: assisted_query_mobile #辅助查询列的名称 encryptorName: md5_encryptor #辅助查询列的算法名称 likeQuery: name: mobile_like #模糊查询列名称 encryptorName: like_encryptor #模糊查询算法名称 CHAR_DIGEST_LIKE mysql data: https://github.com/apache/shardingsphere/assets/165254070/dd203143-db49-4bab-a6f5-3b058c50d709 when i use jpa query,sql log is: Logic SQL: select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile,a1_0.org_id,a1_0.password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile like replace(?,'\\','\\\\') Actual SQL: ds_0 ::: select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile_cipher AS mobile,a1_0.org_id,a1_0.password_cipher AS password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile_like like replace) ::: [%中文%] when i use jdbcTemplate query,This method is not a problem code is : String sql = " select * from t_account where mobile like '%"+ mobile + "%'"; List<AccountEntity> usernameList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(AccountEntity.class)); sql log is : Logic SQL: select * from t_account where mobile like '%中文%' Actual SQL: ds_0 ::: select t_account.`account_id`, t_account.`create_date`, t_account.`create_from`, t_account.`email`, t_account.`last_login_channel`, t_account.`last_login_date`, t_account.`last_update_date`, t_account.`mobile_cipher` AS `mobile`, t_account.`mobile_ming`, t_account.`password_cipher` AS `password`, t_account.`password_ming`, t_account.`psw_ver`, t_account.`status`, t_account.`username`, t_account.`org_id`, t_account.`user_level`, t_account.`reject_reason` from t_account where mobile_like like '%婝刀%' ### Example codes for reproduce this issue (such as a github link). the full exception stack as follows: 2024-03-28T16:22:12.439+08:00 INFO 8940 --- [nio-9521-exec-2] c.h.g.interceptor.RequestInterceptor : 当前请求 uri is /api/app/user/shardingsphere/mobile/like Hibernate: select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile,a1_0.org_id,a1_0.password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile like replace(?,'\\','\\\\') 2024-03-28T16:22:12.554+08:00 INFO 8940 --- [nio-9521-exec-2] ShardingSphere-SQL : Logic SQL: select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile,a1_0.org_id,a1_0.password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile like replace(?,'\\','\\\\') 2024-03-28T16:22:12.554+08:00 INFO 8940 --- [nio-9521-exec-2] ShardingSphere-SQL : Actual SQL: ds_0 ::: select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile_cipher AS mobile,a1_0.org_id,a1_0.password_cipher AS password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile_like like replace) ::: [%中文%] 2024-03-28T16:22:12.655+08:00 WARN 8940 --- [nio-9521-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: S1009 2024-03-28T16:22:12.655+08:00 ERROR 8940 --- [nio-9521-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Parameter index out of range (1 > number of parameters, which is 0). 2024-03-28T16:22:12.664+08:00 ERROR 8940 --- [nio-9521-exec-2] c.h.g.c.ResponseExceptionHandler : 系统异常 org.springframework.orm.jpa.JpaSystemException: JDBC exception executing SQL [select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile,a1_0.org_id,a1_0.password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile like replace(?,'\\','\\\\')] [Parameter index out of range (1 > number of parameters, which is 0).] [n/a] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:320) ~[spring-orm-6.0.17.jar:6.0.17] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229) ~[spring-orm-6.0.17.jar:6.0.17] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550) ~[spring-orm-6.0.17.jar:6.0.17] at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-6.0.17.jar:6.0.17] at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243) ~[spring-tx-6.0.17.jar:6.0.17] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135) ~[spring-data-jpa-3.1.9.jar:3.1.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244) ~[spring-aop-6.0.17.jar:6.0.17] at jdk.proxy2/jdk.proxy2.$Proxy150.findByMobileLike1(Unknown Source) ~[na:na] at com.hanxi.generaladministration.restful.service.AppUserRestService.shardingsphereMobileLike(AppUserRestService.java:578) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) ~[spring-aop-6.0.17.jar:6.0.17] at com.hanxi.generaladministration.aop.RestRequestAspect.doAccess(RestRequestAspect.java:30) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) ~[spring-aop-6.0.17.jar:6.0.17] at com.hanxi.generaladministration.restful.service.AppUserRestService$$SpringCGLIB$$0.shardingsphereMobileLike(<generated>) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-6.0.17.jar:6.0.17] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-6.0.17.jar:6.0.17] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:887) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.0.17.jar:6.0.17] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.0.17.jar:6.0.17] at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.19.jar:6.0] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.0.17.jar:6.0.17] at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.19.jar:6.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at com.hanxi.generaladministration.filter.xss.XssFilter.doFilter(XssFilter.java:41) ~[classes/:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at com.hanxi.generaladministration.filter.CrossDomainHandleFilter.doFilter(CrossDomainHandleFilter.java:45) ~[classes/:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.0.17.jar:6.0.17] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.0.17.jar:6.0.17] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.0.17.jar:6.0.17] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.0.17.jar:6.0.17] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at com.hanxi.generaladministration.filter.apiCrypto.CryptoFilter.doFilter(CryptoFilter.java:77) ~[classes/:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na] Caused by: org.hibernate.exception.GenericJDBCException: JDBC exception executing SQL [select a1_0.account_id,a1_0.create_date,a1_0.create_from,a1_0.email,a1_0.last_login_channel,a1_0.last_login_date,a1_0.last_update_date,a1_0.mobile,a1_0.org_id,a1_0.password,a1_0.reject_reason,a1_0.status,a1_0.user_level,a1_0.username from t_account a1_0 where a1_0.mobile like replace(?,'\\','\\\\')] [Parameter index out of range (1 > number of parameters, which is 0).] [n/a] at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:61) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:257) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:163) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.advanceNext(JdbcValuesResultSetImpl.java:254) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.processNext(JdbcValuesResultSetImpl.java:134) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.jdbc.internal.AbstractJdbcValues.next(AbstractJdbcValues.java:19) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.internal.RowProcessingStateStandardImpl.next(RowProcessingStateStandardImpl.java:66) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:198) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:361) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:168) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:93) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$0(ConcreteSqmSelectQueryPlan.java:110) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:303) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:244) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:518) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:367) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.hibernate.query.Query.getResultList(Query.java:119) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:129) ~[spring-data-jpa-3.1.9.jar:3.1.9] at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:92) ~[spring-data-jpa-3.1.9.jar:3.1.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:149) ~[spring-data-jpa-3.1.9.jar:3.1.9] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:137) ~[spring-data-jpa-3.1.9.jar:3.1.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136) ~[spring-data-commons-3.1.9.jar:3.1.9] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120) ~[spring-data-commons-3.1.9.jar:3.1.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164) ~[spring-data-commons-3.1.9.jar:3.1.9] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143) ~[spring-data-commons-3.1.9.jar:3.1.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:70) ~[spring-data-commons-3.1.9.jar:3.1.9] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-6.0.17.jar:6.0.17] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391) ~[spring-tx-6.0.17.jar:6.0.17] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-6.0.17.jar:6.0.17] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.17.jar:6.0.17] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-6.0.17.jar:6.0.17] ... 87 common frames omitted Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:98) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:90) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:64) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.checkBounds(ClientPreparedStatement.java:1345) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.getCoreParameterIndex(ClientPreparedStatement.java:1358) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.mysql.cj.jdbc.ClientPreparedStatement.setObject(ClientPreparedStatement.java:1632) ~[mysql-connector-j-8.0.33.jar:8.0.33] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setObject(HikariProxyPreparedStatement.java) ~[HikariCP-5.0.1.jar:na] at org.apache.shardingsphere.driver.jdbc.adapter.AbstractPreparedStatementAdapter.lambda$addParameters$0(AbstractPreparedStatementAdapter.java:289) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at org.apache.shardingsphere.driver.jdbc.adapter.AbstractPreparedStatementAdapter.replaySetParameter(AbstractPreparedStatementAdapter.java:281) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.replaySetParameter(ShardingSpherePreparedStatement.java:598) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.replay(ShardingSpherePreparedStatement.java:590) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.cacheStatements(ShardingSpherePreparedStatement.java:586) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.executeQuery0(ShardingSpherePreparedStatement.java:311) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.executeQuery(ShardingSpherePreparedStatement.java:247) ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1] at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) ~[HikariCP-5.0.1.jar:na] at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) ~[HikariCP-5.0.1.jar:na] at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:239) ~[hibernate-core-6.2.22.Final.jar:6.2.22.Final] ... 120 common frames omitted 2024-03-28T16:24:47.318+08:00 INFO 8940 --- [nio-9521-exec-6] c.h.g.interceptor.RequestInterceptor : 当前请求 uri is /api/app/user/shardingsphere/mobile/like/jdbct 2024-03-28T16:24:47.372+08:00 INFO 8940 --- [nio-9521-exec-6] ShardingSphere-SQL : Logic SQL: select * from t_account where mobile like '%中文%' 2024-03-28T16:24:47.372+08:00 INFO 8940 --- [nio-9521-exec-6] ShardingSphere-SQL : Actual SQL: ds_0 ::: select t_account.`account_id`, t_account.`create_date`, t_account.`create_from`, t_account.`email`, t_account.`last_login_channel`, t_account.`last_login_date`, t_account.`last_update_date`, t_account.`mobile_cipher` AS `mobile`, t_account.`mobile_ming`, t_account.`password_cipher` AS `password`, t_account.`password_ming`, t_account.`psw_ver`, t_account.`status`, t_account.`username`, t_account.`org_id`, t_account.`user_level`, t_account.`reject_reason` from t_account where mobile_like like '%婝刀%' 2024-03-28T16:24:47.419+08:00 INFO 8940 --- [nio-9521-exec-6] c.h.g.aop.AspectUtils : url is:Optional[/api/app/user/shardingsphere/mobile/like/jdbct] -->description description is: shardingsphereUsernameLikeJdbcQuery:com.hanxi.generaladministration.restful.service.AppUserRestService->shardingsphereUsernameLikeJdbcQuery,,parameters->:中文, 耗时:99ms -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
