H2和Hibernate:ERROR: org.hibernate.tool.hbm2ddl.SchemaUpdate - Unsuccessful: create table

来源:互联网 发布:线上抽签软件 编辑:程序博客网 时间:2024/05/21 09:37

今天一如继往的用hibernate和H2,结果试图保存对象Order时,出错了。并且连这个表都创建不了。

INFO :org.hibernate.tool.hbm2ddl.DatabaseMetadata - table not found: order

ERROR:org.hibernate.tool.hbm2ddl.SchemaUpdate - Unsuccessful: create table order (idinteger generated by default as identity, number varchar(255), primary key(id))

ERROR:org.hibernate.tool.hbm2ddl.SchemaUpdate - Syntax error in SQL statement"CREATE TABLE ORDER[*] (ID INTEGER GENERATED BY DEFAULT AS IDENTITY,NUMBER VARCHAR(255), PRIMARY KEY (ID)) "; expected "identifier";SQL statement:

create table order(id integer generated by default as identity, number varchar(255), primary key(id)) [42001-144]

INFO :org.hibernate.tool.hbm2ddl.SchemaUpdate - schema update complete

Hibernate: insertinto order (id, number) values (null, ?)

WARN :org.hibernate.util.JDBCExceptionReporter - SQL Error: 42001, SQLState: 42001

ERROR:org.hibernate.util.JDBCExceptionReporter - Syntax error in SQL statement"INSERT INTO ORDER[*] (ID, NUMBER) VALUES (NULL, ?) "; expected"identifier"; SQL statement:

insert into order(id, number) values (null, ?) [42001-144]

org.hibernate.exception.SQLGrammarException:could not insert: [com.gathershell.domain.Order]

    atorg.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)

    atorg.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

    atorg.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64)

网上查了查说的也不太懂,最后我用它自带的控制台手动创建表,把它例子中的表名TEST改为ORDER后就出错了。那还能说什么呢?这个名子不要用。我把它改为其它名子果然就可以了。不过这应不是根本原因。

原创粉丝点击