使用hibernate.hbm2ddl.import_files执行sql脚本时出错?

时间:2015-04-23 18:06:16

标签: java sql hibernate h2

我使用h2 db和hibernate 4。

我想从实体自动生成数据库模式,并从import.sql文件填充数据库。这是相关的hibernate.cfg.xml

<!-- automatically generate database tables from hibernate entities -->
        <property name="hibernate.hbm2ddl.auto">create-drop</property>
        <!-- initialize db on startup -->
        <property name="hibernate.hbm2ddl.import_files">/import.sql</property>

因此,在生成数据库表时会调用import.sql。这是第一个sql语句:

insert into Borrower values (1,"Greece, Aphines, Square street",5,"Antonio");

当hibernate运行此sql语句时,它会出错:

    квіт 23, 2015 8:56:43 PM org.hibernate.tool.hbm2ddl.SchemaExport importScript
    ERROR: HHH000388: Unsuccessful: insert into Borrower values (1,"Greece, Aphines, Square street",5,"Antonio")
    квіт 23, 2015 8:56:43 PM org.hibernate.tool.hbm2ddl.SchemaExport importScript
    Column "Greece, Aphines, Square street" not found; SQL statement:
insert into Borrower values (1,"Greece, Aphines, Square street",5,"Antonio") [42122-186]

insert into语句中添加列名称并不起作用。

这似乎是h2数据库的错误。

这个错误意味着什么?

1 个答案:

答案 0 :(得分:6)

尝试使用单引号替换doulbe引用,如下所示:

insert into Borrower values (1,'Greece, Aphines, Square street',5,'Antonio');