Can not save data in h2 database using JPA repository that i am getting from generated task form in external service task

application.yaml file

camunda.bpm.client:

  base-url: http://localhost:8080/engine-rest # the URL pointing to the Camunda Platform Runtime REST API

  lock-duration: 10000 # defines how many milliseconds the External Tasks are locked until they can be fetched again

  subscriptions:

    eligibilityCheck:

      variable-names: name,address  # only fetch these two variables

      process-definition-key: loanprocess

 

logging.level.org.camunda.bpm.client: DEBUG

external task

import org.camunda.bpm.client.spring.annotation.ExternalTaskSubscription;

import org.camunda.bpm.client.task.ExternalTaskHandler;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

 



 

 

@Configuration

public class savedata {

               

                @Autowired

                private UserRepository userRepository;

               

                @Bean

                @ExternalTaskSubscription("eligibilityCheck")

                  public ExternalTaskHandler creditScoreCheckerHandler(User user) {

                    return (externalTask, externalTaskService) -> {

                                 String name = externalTask.getVariable("name");

                                   String address = externalTask.getVariable("address");

                                   System.out.println("name"+name);

                                   System.out.println("address"+address);

                                userRepository.saveNew(name, address);

                      externalTaskService.complete(externalTask);

                    };

                  }

}

repository class

@Repository

public interface UserRepository extends JpaRepository<User, Integer> {

 

                @Query(nativeQuery=true, value= "INSERT INTO EMPLOYEE (id,name,address) VALUES (?,:name,:address)")

                 void saveNew(@Param("name") String name,@Param("address") String address);

application.properties

spring.datasource.url=jdbc:h2:mem:testdb

spring.datasource.driverClassName=org.h2.Driver

spring.datasource.username=sa

spring.datasource.password=

spring.h2.console.enabled=true

spring.datasource.initialize=true

spring.datasource.schema=schema.sql

spring.datasource.data=schema.sql

spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

 

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

entity class

@Component

@AllArgsConstructor

@NoArgsConstructor

@Entity

@Table(name="Employee")

public class User {

               

                @Id

                @GeneratedValue(strategy = GenerationType.AUTO)

                private int id;

               

 

                private String name;

                private String address;

After starting process in camunda run when i tried to run this it show some error like this.

org.springframework.orm.jpa.JpaSystemException: Mixed parameter strategies - use just one of named, positional or JPA-ordinal strategy; nested exception is org.hibernate.engine.query.ParameterRecognitionException: Mixed parameter strategies - use just one of named, positional or JPA-ordinal strategy

                at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:331) ~[spring-orm-5.3.23.jar:5.3.23]

                at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) ~[spring-orm-5.3.23.jar:5.3.23]

                at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23]

                at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23]

                at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23]

                at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23]

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23]

                at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) ~[spring-data-jpa-2.7.3.jar:2.7.3]

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23]

                at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23]

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23]

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23]

                at jdk.proxy2/jdk.proxy2.$Proxy97.saveNew(Unknown Source) ~[na:na]

                at com.rutvij.crud.service.savedata.lambda$0(savedata.java:27) ~[classes/:na]

                at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.handleExternalTask(TopicSubscriptionManager.java:152) ~[camunda-external-task-client-7.15.0-alpha5.jar:7.15.0-alpha5]

                at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.lambda$acquire$0(TopicSubscriptionManager.java:108) ~[camunda-external-task-client-7.15.0-alpha5.jar:7.15.0-alpha5]

                at java.base/java.util.Arrays$ArrayList.forEach(Arrays.java:4204) ~[na:na]

                at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.acquire(TopicSubscriptionManager.java:103) ~[camunda-external-task-client-7.15.0-alpha5.jar:7.15.0-alpha5]

                at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.run(TopicSubscriptionManager.java:87) ~[camunda-external-task-client-7.15.0-alpha5.jar:7.15.0-alpha5]

                at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]