我用的是sql server 2005 的jdbc驱动,但自增主键总有问题,错误如下:
Hibernate: insert into item_test (id, time, name) values (null, ?, ?)
11:49:58,077 WARN JDBCExceptionReporter:77 - SQL Error: 339, SQLState: S0001
11:49:58,078 ERROR JDBCExceptionReporter:78 - DEFAULT or NULL are not allowed as explicit identity values.
org.hibernate.exception.SQLGrammarException: could not insert: [events.Item]
映射方式:
<class name="events.Item" table="item_test">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="time" type="timestamp" column="time"/>
<property name="name" type="string" column="name"/>
</class>
其中id在库表中已设为自增主键.
望高手指点.
------解决方案--------------------
你的insert语句写错了,sql server 和mysql不同,不能插入null.
改为:Hibernate: insert into item_test (time, name) values (?, ?)
就对了.