当我尝试通过hibernate方式提交到SQL Server时出现JDBC错误
当IDENTITY_INSERT设置为OFF时,无法在表’Report’中为标识列插入显式值
我正在使用由包含以下内容的netbeans生成的映射:
<class name="orm.generated.Report" table="Report" schema="dbo" catalog="DatabaseName"> <id name="id" type="int"> <column name="ID" /> <generator class="assigned" /> </id>
在我看来,它应该正确地进行身份插入。
关于如何解决此问题的任何想法?
编辑: 一些文档链接,供后人, http://www.hibernate.org/hib_docs/v3/reference/en- US/html/mapping.html#mapping-declaration-id-generator HTTP://www.roseindia .net / hibernate / hibernateidgeneratorelement.shtml
除非将“ IDENTITY_INSERT”设置为“ ON”,否则您不能插入SQL Server的标识列中。由于生成器类是“已分配”的,因此Hibernate假设您在保存对象之前在Java中为“ id”设置了显式值,并且Hibernate可以将值直接插入数据库中。您需要: