使用休眠执行 sql 脚本时出错。hbm2ddl.import_files?
Error executing sql script with hibernate.hbm2ddl.import_files?
我使用 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数据库的错误。
这个错误是什么意思?
尝试用单引号替换双引号,如下所示:
insert into Borrower values (1,'Greece, Aphines, Square street',5,'Antonio');
我使用 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数据库的错误。
这个错误是什么意思?
尝试用单引号替换双引号,如下所示:
insert into Borrower values (1,'Greece, Aphines, Square street',5,'Antonio');