我有一个sqlserver 2008 r2数据表,它有一列autoId int identity(1,1),但它不是主键,另一列varchar(20)就是那个。 问题是:我如何配置hbm文件? bellow是我的配置文件,但是当我尝试保存一个实例时它出错了。 “当IDENTITY_INSERT设置为OFF时,无法在表'acct_info'中为标识列插入显式值。”
<property name="autoId" type="int">
<column name="auto_id" not-null="true" unique="true" />
</property>
答案 0 :(得分:0)
可能有两个原因,要么您在DB中没有足够的IDENTITY INSERT权限,要么在您尝试在休眠和数据库层中设置标识符的机制不匹配。
您可以在hibernate定义文件
中查看您的id生成策略Set IDENTITY_INSERT to "ON"