0

我有一个 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>
4

1 回答 1

0

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

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

  1. 在数据库中,您可以更改为Set IDENTITY_INSERT to "ON"
  2. 选择不同的生成器类
于 2012-06-16T07:17:34.663 回答