2010-12-02 32 views
2

Le générateur d'identifiants Siblite NHibernate peut-il être compatible avec Postgresql? Je prévois de tester mon projet NHibernate Postgresql sur cette base http://ayende.com/Blog/archive/2009/04/28/nhibernate-unit-testing.aspxTests unitaires NHibernate Postgresql avec SQLite. Problème du générateur de séquence

S'il n'y a pas de générateur d'identifiants compatible, est-il possible de signaler à NHibernate d'ignorer le générateur d'identifiants lorsqu'il utilise un dialecte différent?

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true" assembly="RuntimeNhibernate" namespace="RuntimeNhibernate" > 

    <class name="Blog" table="blog"> 
    <id name="BlogId" column="blog_id"> 
     <!-- can this be ignored when using different dialect.. --> 
     <generator class="sequence"> 
      <param name="sequence">blog_id_seq</param> 
     </generator> 
     <!-- ...can this --> 
    </id> 


    <property name="AllowsComments" column="allows_comments"/> 
    <property name="CreatedAt" column="created_at"/> 
    <property name="Subtitle" column="subtitle"/> 
    <property name="Title" column="title"/> 


    </class> 

</hibernate-mapping> 

Erreur lors de l'utilisation dialecte Sqlite sur la cartographie spécifique à Postgresql:

NHibernate.MappingException: could not instantiate id generator: sequence ---> 
NHibernate.MappingException: Dialect does not support sequences 

Répondre

0

Ma suggestion est que vous utilisez un générateur DB-agnostique, comme HiLo.