【问题标题】:Hibernate Identity column but not primary keyHibernate Identity 列但不是主键
【发布时间】:2012-06-16 06:04:16
【问题描述】:

我有一个 sqlserver 2008 r2 数据表,它有一列 autoId int identity(1,1),但它不是主键,另一列是 varchar(20)。 问题是:我如何配置 hbm 文件? 下面是我的配置文件,但是当我尝试保存一个实例时出现错误。 “当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'acct_info' 中插入标识列的显式值。”

        <property name="autoId" type="int">
            <column name="auto_id" not-null="true" unique="true"  />
        </property>

【问题讨论】:

    标签: java hibernate identity


    【解决方案1】:

    可能有两个原因,要么您在 DB 中没有足够的权限进行 IDENTITY INSERT,要么您尝试在休眠和 DB 层设置标识符的机制不匹配。

    你可以在hibernate定义文件中查看你的id生成策略

    1. 在 DB 中,您可以更改为 Set IDENTITY_INSERT to "ON"
    2. 选择不同的生成器类

    【讨论】:

      猜你喜欢
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 2015-03-08
      • 1970-01-01
      • 2016-08-25
      • 2015-06-25
      相关资源
      最近更新 更多