我使用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数据库的错误。
这个错误意味着什么?
答案 0 :(得分:6)
尝试使用单引号替换doulbe引用,如下所示:
insert into Borrower values (1,'Greece, Aphines, Square street',5,'Antonio');