2016-09-06 3 views
0

nhibernate의 이상한 매핑 동작을 파악하려고합니다.NHibernate 이상한 시퀀스 매핑 동작

나는 PostgreSQL의에서 시퀀스 ID를 가지고 내 mapping.hbm.xml 파일은 이것이다 :

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
     <class xmlns="urn:nhibernate-mapping-2.2" schema="core" name="Tecplas.Data.Models.Core.User, Tecplas.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" table="usuario"> 
     <id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_identi" /> 
      <generator class="native"> 
      <param name="sequence">seq_usuario</param> 
      </generator> 
     </id> 
     <property name="CreatorProgram" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_prog_criacao" /> 
     </property> 
     <property name="CreationDate" type="System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_data_criacao" /> 
     </property> 
     <property name="UpdateProgram" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_prog_alteracao" /> 
     </property> 
     <property name="UpdateDate" type="System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_data_alteracao" /> 
     </property> 
     <property name="Login" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_login" /> 
     </property> 
     <property name="Password" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_senha" /> 
     </property> 
     <many-to-one class="Tecplas.Data.Models.Core.User, Tecplas.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="CreatorUser"> 
      <column name="usu_usu_criacao" /> 
     </many-to-one> 
     <many-to-one class="Tecplas.Data.Models.Core.User, Tecplas.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="UpdateUser"> 
      <column name="usu_usu_alteracao" /> 
     </many-to-one> 
     </class> 
    </hibernate-mapping> 

내가 점점 오전 오류가 나는 또한에 발전기 유형을 변경 한

"Dialect does not support identity key generation" 
    .... em NHibernate.Dialect.Dialect.get_IdentitySelectString()\r\n em GetIdentitySelectString(Object) 

입니다 SEQUENCE 그러나 그것은 나에게 같은 오류를 준다.

아무도 도와 줄 수 있습니까?

답변

0

문제는 nhibernate 직렬화에서 발생했습니다. 내가 JSON으로 모델을 직렬화하고 있었고, 난이 링크 JSON.NET and nHibernate Lazy Loading of Collections

의 코드를 사용하지 않은

사실이 오류는 매우 이상하다. 내 쿼리는 'GET'쿼리였으며 ID 생성을 방해하지 않습니다. 그러나 이것으로도, nhibernate는 틀린 신원을 생성하려고 노력했고, 나에게이 별난 예외를 던졌다.

음. 문제가 해결되었습니다. 어쩌면이 도움의 누군가 :)