Could not determine recommended JdbcType for `com.test.dd.entity.ConsumerRequest

18 Views Asked by At

Getting below error logs when running jpa transaction in postgresql database. Issue is generated after upgrading hibernate-core 6+ version.

`Could not determine recommended JdbcType for `com.test.dd.entity.ConsumerRequest` 
org.springframework.orm.jpa.JpaSystemException: Could not determine recommended JdbcType for `com.test.dd.entity.ConsumerRequest`
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:320)
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
    at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
    at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:164)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
    at jdk.proxy2/jdk.proxy2.$Proxy201.getCountTicketDetailsForReportsCriteria(Unknown Source)
    at com.test.dd.util.DdmsHelper.generateReport(DdmsHelper.java:88)
    at com.test.dd.service.EWPReportServiceHelper.generateTicketInfoReport(EWPReportServiceHelper.java:266)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
    at com.test.dd.service.EWPReportServiceHelper$$SpringCGLIB$$0.generateTicketInfoReport(<generated>)
    at com.test.dd.service.EWPReportService.generateReport(EWPReportService.java:133)
    at com.test.dd.controller.GenerateReportsController.generateReport(GenerateReportsController.java:51)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
    at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
    at com.test.dd.config.DdmsAspect.eventLogger(DdmsAspect.java:92)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
    at com.test.dd.controller.GenerateReportsController$$SpringCGLIB$$0.generateReport(<generated>)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at com.test.dd.security.JwtValidationFilter.doFilterInternal(JwtValidationFilter.java:172)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at com.test.dd.security.JwtAPIValidationFilter.doFilterInternal(JwtAPIValidationFilter.java:194)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479)
    at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapUnsecured$1(ObservationFilterChainDecorator.java:90)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:219)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:109)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.hibernate.type.descriptor.java.spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for `com.test.dd.entity.ConsumerRequest`
    at org.hibernate.type.descriptor.java.spi.EntityJavaType.getRecommendedJdbcType(EntityJavaType.java:29)
    at org.hibernate.type.spi.TypeConfiguration.lambda$standardBasicTypeForJavaType$2(TypeConfiguration.java:629)
    at org.hibernate.type.spi.TypeConfiguration.lambda$standardBasicTypeForJavaType$3(TypeConfiguration.java:657)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1740)
    at org.hibernate.type.spi.TypeConfiguration.standardBasicTypeForJavaType(TypeConfiguration.java:647)
    at org.hibernate.type.spi.TypeConfiguration.standardBasicTypeForJavaType(TypeConfiguration.java:637)
    at org.hibernate.type.spi.TypeConfiguration.standardBasicTypeForJavaType(TypeConfiguration.java:625)
    at org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.cast(SqmCriteriaNodeBuilder.java:331)
    at org.hibernate.query.sqm.tree.expression.AbstractSqmExpression.as(AbstractSqmExpression.java:104)
    at org.hibernate.query.sqm.tree.expression.AbstractSqmExpression.as(AbstractSqmExpression.java:31)
    at com.test.dd.util.CriteriaHelper.findRoot(CriteriaHelper.java:104)
    at com.test.dd.util.CriteriaHelper.countCriteria(CriteriaHelper.java:55)
    at com.test.dd.util.CriteriaHelper.count(CriteriaHelper.java:38)
    at com.test.pearl.dao.impl.TicketSearchCustomInterfaceImpl.getCountTicketDetailsForReportsCriteria(TicketSearchCustomInterfaceImpl.java:165)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:288)`

Here's my ConsumerRequest.java file:

@Data
@Entity
@Table(name = "Consumer_request")
public class ConsumerRequest implements Serializable {

    /**
     * Generated Serial ID
     */
    private static final long serialVersionUID = 3946117268527206636L;

    @Id
    @SequenceGenerator(name = "requestIdGenerator", sequenceName = "consumer_request_csr_id_seq", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "requestIdGenerator")
    @Column(name = "csr_id")
    private Long csrId;

    /**
     * Channel id
     */
    @Column(name = "chn_id")
    private Long chnId;

    /**
     * Status Id of Image
     */
    @JsonIgnore
    @Column(name = "status_id")
    private Long statusId;

    /**
     * Consumer confirmation no
     */
    @Column(name = "csr_confirmation_no")
    private String csrConfirmationNo;

    /**
     * csr Is authenticated
     */
    @Column(name = "csr_isauthenticated")
    private Boolean csrIsauthenticated;

    /**
     * Consumer process instance id
     */
    @Column(name = "csr_proc_instance_id")
    private String csrProcInstanceId;

    /**
     * Created by
     */
    @Column(name = "created_by")
    private String createdBy;

    /**
     * Creation Date and Time
     */
    @Column(name = "created_datetime")
    private LocalDateTime createdDatetime;

    @Column(name = "received_date")
    private LocalDateTime received_date;

    @Column(name = "completed_datetime")
    private LocalDateTime completed_date;

    /**
     * Modified by
     */
    @Column(name = "modified_by")
    private String modifiedBy;

    /**
     * Modified Date and Time
     */
    @Column(name = "modified_datetime")
    private LocalDateTime modifiedDatetime;

    /**
     * Reason Id
     */
    @Column(name = "reason_id")
    private Long reasonId;

    /**
     * Last Action
     */
    @Column(name = "last_action")
    private String lastAction;

    /**
     * Queue Id
     */
    @Column(name = "queue_id")
    private Long queueId;

    /**
     * Is corrupted
     */
    @Column(name = "is_corrupted")
    private Boolean isCorrupted;

    /**
     * Indexer name
     */
    @Column(name = "indexer_name")
    private String indexerName;

    /**
     * Connexus Id
     */
    //commented by Hemath
    /*@Column(name = "connexus_id")
    private String connexusId;*/

    /**
     * Person Id
     */
    @Column(name = "person_id")
    private String personId;

    /**
     * Rush Flag
     */
    @Column(name = "rush_flag")
    private boolean rushFlag;

    /**
     * Breach Flag
     */
    @Column(name = "breach_flag")
    private boolean breachFlag;

    /**
     * Rush Flag
     */
    @Column(name = "id_val_flg")
    private boolean idValidationFlag;


    /**
     * Rush Flag
     */
    @Column(name = "on_hold_flag")
    private boolean onHoldFlag;

    /**
     * Merge flag
     */
    @Column(name = "merge_flag")
    private boolean mergeFlag;

    
    /**
     * Dispute Type
     */
    @Column(name = "dispute_type")
    private String disputeType;

    /**
     * Member Investigation Expired status
     */
    @Column(name = "mi_status")
    private String miStatus;

    /**
     * RPA ID validation status
     */
    @Column(name = "rpa_id_val_flg")
    private boolean rpaValidationFlag;


    /**
     * Consumer letter for this request
     */
    @OneToOne(cascade = CascadeType.ALL, mappedBy = "csrReq")
    @EqualsAndHashCode.Exclude private ConsumerLetter csrLtr;

    /**
     * Search information for given consumer
     */
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq", fetch = FetchType.EAGER)
    @Fetch(value = FetchMode.SUBSELECT)
    private List<SearchInfo> srchInfo;

    /**
     * disclosure_sogica_info for consumer
     */
    @OneToOne(cascade = CascadeType.ALL, mappedBy = "csrReq",fetch = FetchType.EAGER)
    private DisclosureSogicaInfo disclosureSogicaInfo;
    
    /**
     * walkin_info for consumer
     */
    @OneToOne(cascade = CascadeType.ALL, mappedBy = "csrReq")
    private WalkinInfo walkinInfo;

    @OneToOne(cascade = CascadeType.ALL, mappedBy = "csrReq")
    private ConsumerDoc consumerDoc;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq")
    private List<ConsumerCommunicationDetails> ConsumerCommunicationDetails;

    /**
     * List of service request for given consumer request
     */
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq",fetch = FetchType.EAGER)
    @Fetch(value = FetchMode.SUBSELECT)
    @JsonManagedReference
    @EqualsAndHashCode.Exclude private List<ServiceRequest> srvReqList;

    /**
     * List of service request for given consumer request
     */
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq")
    @JsonManagedReference
    @EqualsAndHashCode.Exclude private List<ServiceRequestDeleted> deletedSrvReqList;

    /**
     * List of service request for given consumer request
     */
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq")
    @JsonManagedReference
    @EqualsAndHashCode.Exclude private List<TaskActionDetails> taskActionDetailsList;

    /**
     * List of cid mapped to given consumer request
     */
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq" ,fetch = FetchType.EAGER)
    @JsonManagedReference
    @EqualsAndHashCode.Exclude private List<CidRequestMap> cidRequestMapList;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "csrReq")
    @JsonManagedReference
    @EqualsAndHashCode.Exclude private List<CsrComments> comments;
}

My likely candidates are there is something funky with jakarta.* instead of javax.* which I don't fully understand the differences between. The other candidate I'm thinking could be problematic is that something with EntityManager is causing a problem, but I can't find anything about it. My error is Could not determine recommended JdbcType for com.test.dd.entity.ConsumerRequest, is there something I can do to fix this?

0

There are 0 best solutions below