有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java execute postgresql架构脚本Spring DatabasePopulator未终止的美元报价从位置开始

在我的spring应用程序中,我创建了许多带有实体类的表,并且运行良好。我使用Spring和Hibernate,数据库是PostgreSQL

然后我需要一些函数,所以我准备了一个包含函数代码的SQL脚本。该脚本在pgAdmin和netbeans数据库服务sql窗口中执行

但是如果我想在hibernate生成所有表之后运行脚本,就不能执行它。 为此,我在ApplicationContext中创建了bean。爪哇

@Bean
public DataSourceInitializer dataSourceInitializer() {
final DataSourceInitializer initializer = new DataSourceInitializer();
initializer.setDataSource(dataSource());
initializer.setDatabasePopulator(databasePopulator());
return initializer;
}

private DatabasePopulator databasePopulator() {
final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.addScript(schemaScript);
return populator;
}

我收到的错误是

Caused by: org.postgresql.util.PSQLException: Unterminated dollar quote started at position 122 in SQL CREATE OR REPLACE FUNCTION public.populate_raw_data( source character varying, func character varying) RETURNS integer AS $BODY$ DECLARE cnt integer. Expected terminating $$

到目前为止,我已经读了好几个问题,但没有任何帮助。pom中的postgresql驱动程序。xml是版本42.2.1


共 (0) 个答案