简体   繁体   中英

Hibernate Identity column but not primary key

I have one sqlserver 2008 r2 datatable, it has one column autoId int identity(1,1), but it's not the primary key, another column varchar(20) is the one. question is : how do i config the hbm file? bellow is my config file,but it got errors when i try to save one instance. "Cannot insert explicit value for identity column in table 'acct_info' when IDENTITY_INSERT is set to OFF."

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

There can be two reasons , either you don't have sufficient privileges in DB for IDENTITY INSERT or there is mismatch in the mechanism by which you are trying to set an identifier in hibernate and DB layer.

You can have a look at your id generation strategy in hibernate definition file

  1. In DB you can change to Set IDENTITY_INSERT to "ON"
  2. Pick a different generator class

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM