用户缺少未找到的权限或对象:对象

时间:2015-03-19 21:25:56

标签: maven exception intellij-idea spring-batch jdbctemplate

我正在关注以下基本春季批处理教程https://spring.io/guides/gs/batch-processing/

  • 我正在使用IntelliJ 14并创建了一个Spring-Batch项目

  • 我正在使用Mavin。我有pom.xml文件。

  • 我没有创建任何文件,除了src / main / resources / sample-data.csv。
  • 我没有创建任何DB或JDBCTemplate,因为我认为不需要它,因为教程在Memory DB中使用它。
  • Mvn clean install工作正常,即使Application.java显示“无法自动装配。无法找到jdbcTempalte类型的bean” @Autowired JdbcTemplate jdbcTemplate;

  • Spring-config具有以下

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
     

http://www.springframework.org/schema/beans/spring-beans.xsd“&GT;

  • 我尝试mvn spring-boot:run

    时收到错误消息

    节目Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: PEOPLE

    的原因

    我错过了什么?感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您应该将schema initialisation放入src/main/resources。 Spring批处理在启动期间自动运行schema-@@platform@@.sql,而-all告诉它适用于github上readme.adoc中所述的所有平台:

  

接下来,编写一个SQL脚本来创建一个用于存储数据的表。

     

的src /主/资源/架构all.sql

     

链接:初始/ SRC /主/资源/架构all.sql

     

注意: Spring Boot运行   schema - @@ platform @@。在启动期间自动执行sql。 - 是的   所有平台的默认值。

答案 1 :(得分:0)

如果要在没有数据库配置的情况下运行Spring Batch,则可以使用

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

可在线程Spring-Batch without persisting metadata to database?

上找到更多详细信息