in Eski Blog Yazılarım

Nhibernate : IDENTITY_INSERT to ON

Basir bir çözüm ama dökümanlara bakmak gerekiyor. :)

Projenizde
NHibernate ORM’sini kullanıyorsanız ve bir Insert sorgusu
çalıştıracaksanız *.hbm.xml eşleştirme dosyasında primary key’i
aşağıdaki şekilde tanıtmanız gerekir.

<id name="id" column="id" type="int">
<generator class="identity" />
</id>

default olarak assigned olduğu için bunu elle belirttiğiniz taktirde SQL’den IDENTITY_INSERT OFF hatasını almazsınız.

Şöylede olarbilir. İllene ID kısmını kendiniz vermek istiyorsanız Sorguyu çalıştırdığını Session da şu komutu çalıştırın.

SET IDENTITY_INSERT TabloIsmi ON
HibernateSession.currentSession().connection().createStatement().executeUpdate("SET IDENTITY_INSERT Hotel ON");
HibernateSession.currentSession().save(hotel);
HibernateSession.currentSession().connection().createStatement().executeUpdate("SET IDENTITY_INSERT Hotel OFF");

Yorum Bırak

Comment