vc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在javax.servlet.http.HttpServlet.service(HttpServlet.java:634)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)~[tomcat-embed-websocket-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.hiddenhttmpmethodfilter.doFilterInternal(hiddenhttmpmethodfilter.java:93)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)~[na:na] 在java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)~[na:na] 在org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在java.base/java.lang.Thread.run(Thread.java:834)~[na:na]

vc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在javax.servlet.http.HttpServlet.service(HttpServlet.java:634)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在javax.servlet.http.HttpServlet.service(HttpServlet.java:741)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)~[tomcat-embed-websocket-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.hiddenhttmpmethodfilter.doFilterInternal(hiddenhttmpmethodfilter.java:93)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109)~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE] 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)~[na:na] 在java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)~[na:na] 在org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)~[tomcat-embed-core-9.0.21.jar:9.0.21] 在java.base/java.lang.Thread.run(Thread.java:834)~[na:na],spring,jdbc,kotlin,spring-jdbc,jdbctemplate,Spring,Jdbc,Kotlin,Spring Jdbc,Jdbctemplate,我认为你应该做两件事: Give:SQL中的param 在queryForList中选择适当的对象 例如: protected static List<Map<String, Object>> getFolderListIds(Long documentId) { String sql = "SELECT id FROM table WHERE id = :document_id" MapSqlParameterSource parameters = ne

我认为你应该做两件事:

  • Give:SQL中的param
  • 在queryForList中选择适当的对象
  • 例如:

    protected static List<Map<String, Object>> getFolderListIds(Long documentId) {
        String sql = "SELECT id FROM table WHERE id = :document_id"
        MapSqlParameterSource parameters = new MapSqlParameterSource();
        parameters.addValue("document_id", documentId);
        NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(Something.getDataSource());
    
        return namedParameterJdbcTemplate.queryForList(sql, parameters);
    }
    
    受保护的静态列表GetFolderListId(长文档ID){
    String sql=“从id所在的表中选择id=
    
    class ConversationMapper: RowMapper<BasicUser> {
        override fun mapRow(rs: ResultSet, rowNum: Int): BasicUser {
            return BasicUser(
                    convoId = rs.getLong("convo_id"),
                    firstName = rs.getString("first_name"),
                    lastName = rs.getString("last_name"),
                    imageUrl = rs.getString("image_url")
            )
        }
    
    }
    
    fun getConversations(id: UUID){
        val sql = "SELECT first_name, last_name, convo_id, image_url  FROM users u cross join conversations c where c.user_id1::uuid = ? or c.user_id2::uuid = ?"
        val res = jdbcTemplate.query(sql, ConversationMapper(), arrayOf(id, id))
    }
    
     fun findConversationsById(id: UUID): List<Long> {
    
            return jdbcTemplate.queryForList("SELECT convo_id FROM conversations WHERE user_id2=? or user_id1=?", arrayOf<Any>(id, id), Long::class.java).toList()
        }
    
    org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of [Ljava.util.UUID;. Use setObject() with an explicit Types value to specify the type to use.
        at org.postgresql.jdbc.PgPreparedStatement.setObject(PgPreparedStatement.java:949) ~[postgresql-42.2.5.jar:42.2.5]
        at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setObject(HikariProxyPreparedStatement.java) ~[HikariCP-3.2.0.jar:na]
        at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:411) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:232) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:163) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.ArgumentPreparedStatementSetter.doSetValue(ArgumentPreparedStatementSetter.java:69) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.ArgumentPreparedStatementSetter.setValues(ArgumentPreparedStatementSetter.java:50) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:675) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:616) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:668) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:699) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:711) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:767) ~[spring-jdbc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at com.asloan.capstone.repository.ConversationRepository.getConversations(ConversationRepository.kt:70) ~[classes/:na]
        at com.asloan.capstone.repository.ConversationRepository$$FastClassBySpringCGLIB$$8a84fe35.invoke(<generated>) ~[classes/:na]
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) ~[spring-aop-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) ~[spring-tx-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at com.asloan.capstone.repository.ConversationRepository$$EnhancerBySpringCGLIB$$f0fc3de.getConversations(<generated>) ~[classes/:na]
        at com.asloan.capstone.controller.ConversationController.getConvos(ConversationController.kt:41) ~[classes/:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[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:566) ~[na:na]
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) ~[spring-webmvc-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) ~[spring-web-5.1.8.RELEASE.jar:5.1.8.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.21.jar:9.0.21]
        at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
    
    protected static List<Map<String, Object>> getFolderListIds(Long documentId) {
        String sql = "SELECT id FROM table WHERE id = :document_id"
        MapSqlParameterSource parameters = new MapSqlParameterSource();
        parameters.addValue("document_id", documentId);
        NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(Something.getDataSource());
    
        return namedParameterJdbcTemplate.queryForList(sql, parameters);
    }