'org.hsqldb.HsqlException: user lacks privilege or object not found: BATCH_JOB_INSTANCE

I am trying to load xml data to the database as a batch job using spring batch. initially load the data to hsql as in-memory data(worked fine) and now I need to persist the data so I have changed it to use file as db but after changing its showing error org.hsqldb.HsqlException: user lacks privilege or object not found: BATCH_JOB_INSTANCE As in-memory HSQL is working fine but can't change it to use file as DB in order persist the data Tried using spring.jpa.generate-ddl=true spring.jpa.hibernate.ddl-auto=update it didn't work

application.properties

spring.datasource.url=jdbc:hsqldb:file:/src/main/resources/db/hsql;
spring.datasource.username = "admin" 
spring.datasource.password = "admin"

ERROR :

"C:\Program Files\Java\jdk-15.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\lib\idea_rt.jar=1077:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\shanil\Desktop\swift_exam\Swift_report_generator\ReportGenerator2022\saa-report-generator\target\classes;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-batch\2.7.0-SNAPSHOT\spring-boot-starter-batch-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter\2.7.0-SNAPSHOT\spring-boot-starter-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.7.0-SNAPSHOT\spring-boot-starter-logging-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\ch\qos\logback\logback-classic\1.2.10\logback-classic-1.2.10.jar;C:\Users\shanil\.m2\repository\ch\qos\logback\logback-core\1.2.10\logback-core-1.2.10.jar;C:\Users\shanil\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.1\log4j-to-slf4j-2.17.1.jar;C:\Users\shanil\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\shanil\.m2\repository\org\slf4j\jul-to-slf4j\1.7.33\jul-to-slf4j-1.7.33.jar;C:\Users\shanil\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\shanil\.m2\repository\org\yaml\snakeyaml\1.30\snakeyaml-1.30.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.7.0-SNAPSHOT\spring-boot-starter-jdbc-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\shanil\.m2\repository\org\springframework\batch\spring-batch-core\4.3.5-SNAPSHOT\spring-batch-core-4.3.5-20220212.200001-90.jar;C:\Users\shanil\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.13.1\jackson-databind-2.13.1.jar;C:\Users\shanil\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.13.1\jackson-annotations-2.13.1.jar;C:\Users\shanil\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.13.1\jackson-core-2.13.1.jar;C:\Users\shanil\.m2\repository\io\micrometer\micrometer-core\1.9.0-SNAPSHOT\micrometer-core-1.9.0-20220215.231045-57.jar;C:\Users\shanil\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;C:\Users\shanil\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\shanil\.m2\repository\javax\batch\javax.batch-api\1.0\javax.batch-api-1.0.jar;C:\Users\shanil\.m2\repository\org\codehaus\jettison\jettison\1.2\jettison-1.2.jar;C:\Users\shanil\.m2\repository\org\springframework\batch\spring-batch-infrastructure\4.3.5-SNAPSHOT\spring-batch-infrastructure-4.3.5-20220212.200001-90.jar;C:\Users\shanil\.m2\repository\org\springframework\retry\spring-retry\1.3.1\spring-retry-1.3.1.jar;C:\Users\shanil\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-aop\5.3.16-SNAPSHOT\spring-aop-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-context\5.3.16-SNAPSHOT\spring-context-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-tx\5.3.16-SNAPSHOT\spring-tx-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.7.0-SNAPSHOT\spring-boot-starter-data-jpa-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.7.0-SNAPSHOT\spring-boot-starter-aop-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;C:\Users\shanil\.m2\repository\jakarta\transaction\jakarta.transaction-api\1.3.3\jakarta.transaction-api-1.3.3.jar;C:\Users\shanil\.m2\repository\jakarta\persistence\jakarta.persistence-api\2.2.3\jakarta.persistence-api-2.2.3.jar;C:\Users\shanil\.m2\repository\org\hibernate\hibernate-core\5.6.4.Final\hibernate-core-5.6.4.Final.jar;C:\Users\shanil\.m2\repository\org\jboss\logging\jboss-logging\3.4.3.Final\jboss-logging-3.4.3.Final.jar;C:\Users\shanil\.m2\repository\net\bytebuddy\byte-buddy\1.12.7\byte-buddy-1.12.7.jar;C:\Users\shanil\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\shanil\.m2\repository\org\jboss\jandex\2.4.2.Final\jandex-2.4.2.Final.jar;C:\Users\shanil\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\shanil\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.2.Final\hibernate-commons-annotations-5.1.2.Final.jar;C:\Users\shanil\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.5\jaxb-runtime-2.3.5.jar;C:\Users\shanil\.m2\repository\org\glassfish\jaxb\txw2\2.3.5\txw2-2.3.5.jar;C:\Users\shanil\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.12\istack-commons-runtime-3.0.12.jar;C:\Users\shanil\.m2\repository\org\springframework\data\spring-data-jpa\2.7.0-SNAPSHOT\spring-data-jpa-2.7.0-20220215.192549-167.jar;C:\Users\shanil\.m2\repository\org\springframework\data\spring-data-commons\2.7.0-SNAPSHOT\spring-data-commons-2.7.0-20220215.192059-137.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-orm\5.3.16-SNAPSHOT\spring-orm-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\slf4j\slf4j-api\1.7.33\slf4j-api-1.7.33.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-aspects\5.3.16-SNAPSHOT\spring-aspects-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-mail\2.7.0-SNAPSHOT\spring-boot-starter-mail-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-context-support\5.3.16-SNAPSHOT\spring-context-support-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\com\sun\mail\jakarta.mail\1.6.7\jakarta.mail-1.6.7.jar;C:\Users\shanil\.m2\repository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.7.0-SNAPSHOT\spring-boot-starter-web-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.7.0-SNAPSHOT\spring-boot-starter-json-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.1\jackson-datatype-jdk8-2.13.1.jar;C:\Users\shanil\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.1\jackson-datatype-jsr310-2.13.1.jar;C:\Users\shanil\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.1\jackson-module-parameter-names-2.13.1.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.7.0-SNAPSHOT\spring-boot-starter-tomcat-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.58\tomcat-embed-core-9.0.58.jar;C:\Users\shanil\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.58\tomcat-embed-el-9.0.58.jar;C:\Users\shanil\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.58\tomcat-embed-websocket-9.0.58.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-web\5.3.16-SNAPSHOT\spring-web-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-webmvc\5.3.16-SNAPSHOT\spring-webmvc-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-expression\5.3.16-SNAPSHOT\spring-expression-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-devtools\2.7.0-SNAPSHOT\spring-boot-devtools-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot\2.7.0-SNAPSHOT\spring-boot-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.7.0-SNAPSHOT\spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar;C:\Users\shanil\.m2\repository\org\hsqldb\hsqldb\2.5.2\hsqldb-2.5.2.jar;C:\Users\shanil\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\shanil\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-core\5.3.16-SNAPSHOT\spring-core-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-jcl\5.3.16-SNAPSHOT\spring-jcl-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-jdbc\5.3.16-SNAPSHOT\spring-jdbc-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\org\projectlombok\lombok\1.18.22\lombok-1.18.22.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-oxm\5.3.15\spring-oxm-5.3.15.jar;C:\Users\shanil\.m2\repository\org\springframework\spring-beans\5.3.16-SNAPSHOT\spring-beans-5.3.16-20220215.140500-43.jar;C:\Users\shanil\.m2\repository\com\thoughtworks\xstream\xstream\1.4.19\xstream-1.4.19.jar;C:\Users\shanil\.m2\repository\io\github\x-stream\mxparser\1.2.2\mxparser-1.2.2.jar;C:\Users\shanil\.m2\repository\xmlpull\xmlpull\1.1.3.1\xmlpull-1.1.3.1.jar com.ecsfin.ssb.saareportgenerator.SaaReportGeneratorApplication
11:53:05.069 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@28a2fd34

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v2.7.0-SNAPSHOT)

2022-02-16 11:53:05.865  INFO 12740 --- [  restartedMain] c.e.s.s.SaaReportGeneratorApplication    : Starting SaaReportGeneratorApplication using Java 15.0.1 on LAPTOP-RODPBL05 with PID 12740 (C:\Users\shanil\Desktop\swift_exam\Swift_report_generator\ReportGenerator2022\saa-report-generator\target\classes started by shanil in C:\Users\shanil\Desktop\swift_exam\Swift_report_generator\ReportGenerator2022\saa-report-generator)
2022-02-16 11:53:05.867  INFO 12740 --- [  restartedMain] c.e.s.s.SaaReportGeneratorApplication    : No active profile set, falling back to default profiles: default
2022-02-16 11:53:06.003  INFO 12740 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2022-02-16 11:53:06.004  INFO 12740 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2022-02-16 11:53:07.225  INFO 12740 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2022-02-16 11:53:07.254  INFO 12740 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 14 ms. Found 0 JPA repository interfaces.
2022-02-16 11:53:08.456  INFO 12740 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2022-02-16 11:53:08.471  INFO 12740 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-02-16 11:53:08.471  INFO 12740 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.58]
2022-02-16 11:53:08.622  INFO 12740 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-02-16 11:53:08.622  INFO 12740 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2617 ms
2022-02-16 11:53:08.767  INFO 12740 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2022-02-16 11:53:09.143  INFO 12740 --- [  restartedMain] hsqldb.db.HSQLDB7F0132ED38.ENGINE        : Checkpoint start
2022-02-16 11:53:09.144  INFO 12740 --- [  restartedMain] hsqldb.db.HSQLDB7F0132ED38.ENGINE        : checkpointClose start
2022-02-16 11:53:09.145  INFO 12740 --- [  restartedMain] hsqldb.db.HSQLDB7F0132ED38.ENGINE        : checkpointClose synched
2022-02-16 11:53:09.154  INFO 12740 --- [  restartedMain] hsqldb.db.HSQLDB7F0132ED38.ENGINE        : checkpointClose script done
2022-02-16 11:53:09.162  INFO 12740 --- [  restartedMain] hsqldb.db.HSQLDB7F0132ED38.ENGINE        : checkpointClose end
2022-02-16 11:53:09.164  INFO 12740 --- [  restartedMain] hsqldb.db.HSQLDB7F0132ED38.ENGINE        : Checkpoint end - txts: 1
2022-02-16 11:53:09.175  INFO 12740 --- [  restartedMain] com.zaxxer.hikari.pool.PoolBase          : HikariPool-1 - Driver does not support get/set network timeout for connections. (feature not supported)
2022-02-16 11:53:09.178  INFO 12740 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2022-02-16 11:53:09.344  INFO 12740 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2022-02-16 11:53:09.436  INFO 12740 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.6.4.Final
2022-02-16 11:53:09.679  INFO 12740 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2022-02-16 11:53:09.855  INFO 12740 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect
2022-02-16 11:53:10.544  INFO 12740 --- [  restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2022-02-16 11:53:10.554  INFO 12740 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2022-02-16 11:53:11.160  WARN 12740 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2022-02-16 11:53:11.558  WARN 12740 --- [  restartedMain] o.s.b.a.batch.JpaBatchConfigurer         : JPA does not support custom isolation levels, so locks may not be taken when launching Jobs. To silence this warning, set 'spring.batch.jdbc.isolation-level-for-create' to 'default'.
2022-02-16 11:53:11.562  INFO 12740 --- [  restartedMain] o.s.b.c.r.s.JobRepositoryFactoryBean     : No database type set, using meta data indicating: HSQL
2022-02-16 11:53:11.594  INFO 12740 --- [  restartedMain] o.s.b.c.l.support.SimpleJobLauncher      : No TaskExecutor has been set, defaulting to synchronous executor.
2022-02-16 11:53:11.717  INFO 12740 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2022-02-16 11:53:11.789  INFO 12740 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2022-02-16 11:53:11.806  INFO 12740 --- [  restartedMain] c.e.s.s.SaaReportGeneratorApplication    : Started SaaReportGeneratorApplication in 6.716 seconds (JVM running for 8.044)
2022-02-16 11:53:11.809  INFO 12740 --- [  restartedMain] o.s.b.a.b.JobLauncherApplicationRunner   : Running default command line with: []
2022-02-16 11:53:12.006  INFO 12740 --- [  restartedMain] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-02-16 11:53:12.048 ERROR 12740 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Failed to execute ApplicationRunner
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:751) ~[spring-boot-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:738) ~[spring-boot-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:309) ~[spring-boot-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1291) ~[spring-boot-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1280) ~[spring-boot-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at com.ecsfin.ssb.saareportgenerator.SaaReportGeneratorApplication.main(SaaReportGeneratorApplication.java:10) ~[classes/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[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:564) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?]; nested exception is java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: BATCH_JOB_INSTANCE in statement [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?]
    at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:93) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1541) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:667) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:744) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:757) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:815) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.batch.core.repository.dao.JdbcJobInstanceDao.getJobInstance(JdbcJobInstanceDao.java:151) ~[spring-batch-core-4.3.5-20220212.200001-90.jar:4.3.5-SNAPSHOT]
    at org.springframework.batch.core.repository.support.SimpleJobRepository.isJobInstanceExists(SimpleJobRepository.java:93) ~[spring-batch-core-4.3.5-20220212.200001-90.jar:4.3.5-SNAPSHOT]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[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:564) ~[na:na]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at com.sun.proxy.$Proxy104.isJobInstanceExists(Unknown Source) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[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:564) ~[na:na]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:128) ~[spring-batch-core-4.3.5-20220212.200001-90.jar:4.3.5-SNAPSHOT]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at com.sun.proxy.$Proxy93.isJobInstanceExists(Unknown Source) ~[na:na]
    at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.getNextJobParameters(JobLauncherApplicationRunner.java:206) ~[spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.execute(JobLauncherApplicationRunner.java:198) ~[spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.executeLocalJobs(JobLauncherApplicationRunner.java:173) ~[spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.launchJobFromProperties(JobLauncherApplicationRunner.java:160) ~[spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:155) ~[spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner.run(JobLauncherApplicationRunner.java:150) ~[spring-boot-autoconfigure-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:748) ~[spring-boot-2.7.0-20220214.154729-178.jar:2.7.0-SNAPSHOT]
    ... 10 common frames omitted
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: BATCH_JOB_INSTANCE in statement [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?]
    at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:337) ~[HikariCP-4.0.3.jar:na]
    at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) ~[HikariCP-4.0.3.jar:na]
    at org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.createPreparedStatement(JdbcTemplate.java:1645) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:649) ~[spring-jdbc-5.3.16-20220215.140500-43.jar:5.3.16-SNAPSHOT]
    ... 47 common frames omitted
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: BATCH_JOB_INSTANCE
    at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.error.Error.error(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.readTableName(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.readTableOrSubquery(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadTableReference(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadFromClause(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadTableExpression(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserCommand.compilePart(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.ParserCommand.compileStatement(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.Session.compileStatement(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.StatementManager.compile(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    at org.hsqldb.Session.execute(Unknown Source) ~[hsqldb-2.5.2.jar:2.5.2]
    ... 53 common frames omitted

2022-02-16 11:53:12.103  INFO 12740 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2022-02-16 11:53:12.107  INFO 12740 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2022-02-16 11:53:12.110  INFO 12740 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Process finished with exit code 0

Spring batch Item writer

@Bean
public JpaItemWriter<SAAMessage> saaMessageItemWriter() {
    JpaItemWriter<SAAMessage> writer = new JpaItemWriter();
    writer.setEntityManagerFactory(emf);
    return writer;
}


Solution 1:[1]

By default, Spring Boot's auto-configuration only initializes the Spring Batch tables for embedded databases. And when you switch to a file-based instead of an in-memory database, Spring Boot no longer considers the database to be embedded.

You can explicitly enable initialization of the Spring Batch tables by setting the property

spring.batch.jdbc.initialize-schema=always

Please also have a look at the official documentation: https://docs.spring.io/spring-boot/docs/2.6.3/reference/html/howto.html#howto.data-initialization.batch

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Henning