加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Hiberate问题,jdbc IDENTITY_INSERT设置为OFF

发布时间:2020-12-12 06:30:23 所属栏目:MsSql教程 来源:网络整理
导读:当我尝试通过hibernate提交到SQL Server时,我收到JDBC错误 Cannot insert explicit value for identity column in table ‘Report’ when IDENTITY_INSERT is set to OFF 我使用的netbeans生成的映射包含, class name="orm.generated.Report" table="Report"
当我尝试通过hibernate提交到SQL Server时,我收到JDBC错误

Cannot insert explicit value for identity column in table ‘Report’ when IDENTITY_INSERT is set to OFF

我使用的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可以直接将值插入数据库.你需要:

>选择不同的生成器类,例如“native”>将IDENTITY_INSERT设置为“ON”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读