简体   繁体   English

错误:找不到能够从类型 JPA Model 类型转换为自定义类型 object [型号] 的转换器

[英]Error: No converter found capable of converting from type JPA Model type to Custom object [Model]

  1. This is my pojo class.这是我的 pojo class。
public class Payload {

private Clob paylaod;


public Clob getPaylaod() {
    return paylaod;
}

public void setPaylaod(Clob paylaod) {
    this.paylaod = paylaod;
}

}
  1. This is my entity class.这是我的实体 class。
@Entity
@Table(name ="ORDER")
@Data
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Model implements Serializable {
    
        @Id
        @Column(name = "REQUEST_ID", nullable = false, unique = true)
        private String requestId;

        @Column(name = "VERSION")
        private BigDecimal version;

        @Column(name = "SOURCE")
        private String source;

        @Column(name = "SOURCE_ID")
        private String sourceId;
        
        @Lob
        @Column(name = "PAYLOAD")
        private Clob  payload;
}

3.This is my repository. 3.这是我的资料库。

public interface OrderRepository extends JpaRepository<Model, String>
{
    
    @Query(value="SELECT PAYLOAD FROM ORDER WHERE REQUEST_ID = ?",nativeQuery = true)
    Payload getDetailsById(String requestId);
}
  1. Below is controller class.下面是controller class。
@RestController
@RequestMapping("/v1/order-data/Order")
public class OrderController {
    
    @Autowired
    OrderRepository repository;
    
    
    @GetMapping("/getDetailsById/{requestId}")
    public Payload getDetailsById(@PathVariable("requestId") String id) {
        return  repository.getDetailsById(id);
    }
    
}

4.Getting Below error: 4.报错:

** org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [model.Payload] at org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:322) ~[spring-core-5.3.10.jar:5.3.10] at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:195) ~[spring-core-5.3.10.jar:5.3.10] at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:175) ~[spring-core-5.3.10.jar:5.3.10] at org.springframework.data.repository.query.ResultProcessor$ProjectingConverter.convert(ResultProcessor.java:313) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.data.repository.query.ResultProcessor$Cha ** org.springframework.core.convert.ConverterNotFoundException:找不到能够从类型 [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] 转换为类型 [model.Payload] at org.springframework 的转换器.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:322) ~[spring-core-5.3.10.jar:5.3.10] 在org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.8821582869: 195) ~[spring-core-5.3.10.jar:5.3.10] 在 org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:175) ~[spring-core-5.3.10.jar:5.3.10 ] 在 org.springframework.data.repository.query.ResultProcessor$ProjectingConverter.convert(ResultProcessor.java:313) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework.data.repository.query .ResultProcessor$查iningConverter.lambda$and$0(ResultProcessor.java:229) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.data.repository.query.ResultProcessor$ChainingConverter.convert(ResultProcessor.java:240) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.data.repository.query.ResultProcessor.processResult(ResultProcessor.java:170) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:158) ~[spring-data-jpa-2.4.13.jar:2.4.13] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.4.13.jar:2.4.13] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework. iningConverter.lambda$and$0(ResultProcessor.java:229) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework.data.repository.query.ResultProcessor$ChainingConverter.convert(ResultProcessor.8821328:94588 240) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework.data.repository.query.ResultProcessor.processResult(ResultProcessor.java:170) ~[spring-data-commons-2.4.13.jar :2.4.13] 在 org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:158) ~[spring-data-jpa-2.4.13.jar:2.4.13] 在 org.springframework. .jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.4.13.jar:2.4.13] 在 org.springframework.data.repository.core.support.RepositoryMethodInvod( RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework。 data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:152) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:131) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) ~[spring-data-commons-2.4.13.jar:2.4.13] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation. data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke (QueryExecutorMethodInterceptor.java:152) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor ~88213884694)[ data-commons-2.4.13.jar:2.4.13] 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10framework] 在.org.spring data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) ~[spring-data-commons-2.4.13.jar:2.4.13] 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceedInvocation. java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.10.jar:5.3.10] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.10.jar:5.3.10] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.10.jar:5.3.10] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.10.jar:5.3.10] at org.springframework.aop.framework.ReflectiveMethodInvocati java:186) ~[spring-aop-5.3.10.jar:5.3.10] 在 org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.32.1207.8 10] 在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.10.jar:5.3.10] 在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke.(TransactionInterceptor java:119) ~[spring-tx-5.3.10.jar:5.3.10] 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.32.10308.818:5.32.10308.818 ] 在 org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.10.jar:5.3.10] 在 org.springframework.aop.framework.ReflectiveMethodInvocati on.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.4.13.jar:2.4.13] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.10.jar:5.3.10] at com.s on.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~ [spring-data-jpa-2.4.13.jar:2.4.13] 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.10.jar:5.3.10] .springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.10.jar:5.3.10] 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation82488218:868218) ~[spring-aop-5.3.10.jar:5.3.10] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.10.jar:5.3.10] at com.秒un.proxy.$Proxy121.getDetailsById(Unknown Source) ~[na:na] at Controller.getDetailsById(Controller.java:62) ~[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:205) ~[spring-web-5.3.10.jar:5.3.10] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.10.jar:5.3.10] at org.springframework.web.servlet.mvc.method.ann un.proxy.$Proxy121.getDetailsById(未知来源)~[na:na] 在 Controller.getDetailsById(Controller.java:62)~[classes/:na] 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke (本机方法)~[na:na] 位于 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] 位于 java.base/jdk.internal.reflect.AccessortingMethod调用(DelegatingMethodAccessorImpl.java:43)~[na:na] 在 java.base/java.lang.reflect.Method.invoke(Method.java:566)~[na:na] 在 org.springframework.883655086.8988. support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.10.jar:5.3.10] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring -web-5.3.10.jar:5.3.10] 在 org.springframework.web.servlet.mvc.method.ann otation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServl otation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895 )〜[spring-webmvc-5.3.10.jar:5.3.10] 5.3.10] at org.springframework.web.Servlet.mvc.method.abstracthandlermethodadapter.handle(abstracthandlermethodadapter.java:8721324694588:87) DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.10.jar:5.3.10] 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServl et.java:963) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.10.jar:5.3.10] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) ~[tomcat-embed-core-9.0.53.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.10.jar:5.3.10] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.53.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalin et.java:963) ~[spring-webmvc-5.3.10.jar:5.3.10] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.10.jar:5.3 .10] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.10.jar:5.3.10] at javax.servlet.http.HttpServlet.service(HttpServlet.java :655) ~[tomcat-embed-core-9.0.53.jar:4.0.FR] 在 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.10.88203.8878591 10] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.53.jar:4.0.FR] 在 org.apache.catalinaFilterCcore.ApplicationFir java:227) ~[tomcat-embed-core-9.0.53.jar:9.0.53] 在 org.apache.catalin a.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.53.jar:9.0.53] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.10.jar:5.3.10] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar:5.3.10] at org.apache.catalina.core.ApplicationFilterC a.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~ [tomcat-embed-websocket-9.0.53.jar:9.0.53] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.508.859:9.0.5087.859] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter. java:100) ] 在 org.apache.catalina.core.ApplicationFilterC hain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.10.jar:5.3.10] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar:5.3.10] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetri hain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFiltercatem28:8694528[8694528] -core-9.0.53.jar:9.0.53] at org.springframework.web.filter.formcontentfilter.dofilter.dofilter.dofilterternerternalternerternalterthertherternaltertherternerternal(FormContentFilter.java888888888888888888888888888.BY.93) 。 embed-core-9.0.53.jar:9.0.53] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.8820g.883.0288891] or springframework.boot.actuate.metrics.web.servlet.WebMvcMetri csFilter.doFilterInternal(WebMvcMetricsFilter.java:97) ~[spring-boot-actuator-2.4.11.jar:2.4.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar:5.3.10] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.10.jar:5.3.10] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar:5.3.10] at org.apache.catalina.core.ApplicationFilterChain.inter csFilter.doFilterInternal(WebMvcMetricsFilter.java:97) ~[spring-boot-actuator-2.4.11.jar:2.4.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web -5.3.10.jar:5.3.10] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[ spring-web-5.3.10.jar:5.3.10] at org.springframework.web.filter.onceperrequestfilter.dofilter.dofilter.dofilter(曾经Perrequestfilter.88213246694588888888888888888888888888.88088:119) catalina.core.ApplicationFilterChain.inter nalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core- nalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar:9.0.53] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.89215638246) -9.0.53.jar:9.0.53] at org.8apache.CATALINA.CORE.CORE.CORE.STANDARDWRAPPERVAKE.INVOKE(StandardWrapperVake.8821324694588:197) 。 tomcat-embed-core-9.0.53.jar:9.0.53] 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.578:8890108] org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)~[tomcat-embed-core- 9.0.53.jar:9.0.53] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.net.Socke 9.0.53.jar:9.0.53] at org.8apache.CATALINA.CORE.CORE.CORE.STANDARDENGINEVALVE.INVOKE.INVOKE(StandardEngineValve.java888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889转connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat -embed-core-9.0.53.jar:9.0.53] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache .coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java: 1726) ~[tomcat-embed-core-9.0.53.jar:9.0.53] 在 org.apache.tomcat.util.net.Socke tProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] ** tProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.53.jar:9.0.53] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed -Core-9.0.53.jar:9.0.53] at org.apache.tomcat.UTIL.UTIL.THREADS.THREADPOLERPOOLEXECECECECECECECECECECUTOR $ WRING(TREESPOOLEXECUTOR.88213246666669466694669466694666946669466946694669466946694669466946694669494.6669494) .apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.53.jar:9.0.53] 在 88213ja8284.694 ( java:834) ~[na:na] **

You're running a native query and not a JPA query and that's why the return type of getDetailsById(String requestId) is Object[] and not Clob or Model. Let's say your entity has 4 columns then object[0] will return the first column, object[1] will return the second column, and so on.您正在运行本机查询而不是 JPA 查询,这就是为什么 getDetailsById(String requestId) 的返回类型是 Object[] 而不是 Clob 或 Model。假设您的实体有 4 列,然后 object[0] 将返回第一列column, object[1] 将返回第二列,依此类推。

I'd suggest not to take away good things by using native queries.我建议不要通过使用本机查询来带走好东西。 Just use JPA query and be happy:)只需使用 JPA 查询即可:)

Modify your method signature the following way通过以下方式修改您的方法签名

public interface OrderRepository extends JpaRepository<Model, String>
{
    @Query(value="SELECT o.payload FROM ORDER o WHERE o.requestId = ?1")
    Payload getDetailsById(String requestId);
}

I think the return type of your method getDetailsById() is Payload instead of Clob, change that and try to run.我认为您的方法 getDetailsById() 的返回类型是 Payload 而不是 Clob,更改它并尝试运行。 that might work.那可能有用。

Because there's no relation between the payload Entity and the Model entity,Model entity have a CLOB type payload NOT an entity,so what you can do is add a relation between the two Entities as follows, so you can request the Payload with the specific request_id,since here it will hold the request_id as a foreign key in the db table,here's a snippet example:因为有效载荷实体和 Model 实体之间没有关系,Model 实体有一个 CLOB 类型的有效载荷而不是一个实体,所以你可以做的是在两个实体之间添加如下关系,这样你就可以请求具有特定 request_id 的有效载荷,因为这里它将 request_id 作为外键保存在数据库表中,这是一个片段示例:

@Entity
public class Payload {
 
 @Lob
 private Clob paylaod;
 
 @OneToOne
 @JoinColumn(name="request_id")
 private Model model;

 public Clob getPaylaod() {
  return paylaod;
 }

 public void setPaylaod(Clob paylaod) {
  this.paylaod = paylaod;
 }
}

and in your Model class have a relation to it lets say OneToOne as follows:在你的 Model class 中有一个关系可以说 OneToOne 如下:

@Entity
@Table(name ="ORDER")
@Data
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Model implements Serializable {

    @Id
    @Column(name = "REQUEST_ID", nullable = false, unique = true)
    private String requestId;

    @Column(name = "VERSION")
    private BigDecimal version;

    @Column(name = "SOURCE")
    private String source;

    @Column(name = "SOURCE_ID")
    private String sourceId;
    
  
    @OneToOne(mappedBy="model")
    private Payload payload;

} }

now you can use a native query or a JPQL query to retrieve what you want,eg:现在您可以使用本机查询或 JPQL 查询来检索您想要的内容,例如:

@Query(value="select * from payload where 
payload.request_id=:requestId",nativeQuery=true)
Payload findByRequestId(@Param("requestId") String requestId);

hope this helps !希望这可以帮助 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 找不到能够从类型转换的转换器 - No converter found capable of converting from type 存储功能错误:未找到能够从类型转换的转换器 - Stored Function Error: No converter found capable of converting from type SPRING REDIS - 找不到能够从类型转换的转换器.. 错误 - SPRING REDIS - No converter found capable of converting from type.. ERROR org.springframework.core.convert.ConverterNotFoundException:找不到能够从 [java.lang.String] 类型转换为 Model 类型的转换器 - org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type Model 调用存储过程的 Spring JPA 本机查询给出“找不到能够从类型转换的转换器” - Spring JPA native query to call store procedrure gives “No converter found capable of converting from type” 找不到能够从类型 org.bson.BsonUndefined 转换的转换器 - No converter found capable of converting from type org.bson.BsonUndefined Springboot自定义选择查询返回找不到能够从类型转换的转换器 - Springboot custom Select Query returns No converter found capable of converting from type 使用@Query(&quot;Select * from&quot;) 时出现错误“找不到能够从 XXX 类型转换的转换器” - Error 'No converter found capable of converting from type XXX' when using @Query("Select * from") MongoDB映射减少,给出错误“找不到能够从类型java.lang.Boolean转换为类型int的转换器” - MongoDB map reduce, gives error “ No converter found capable of converting from type java.lang.Boolean to type int” MongoDB 找不到能够从 [java.lang.String] 类型转换为 [java.time.LocalDateTime] 类型的转换器 - MongoDB No converter found capable of converting from type [java.lang.String] to type [java.time.LocalDateTime]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM