2009-08-31 6 views
1

J'utilise NHibernate avec la base de données Sdf. Dans mon fichier hibernate.cfg.xml je me suis fixé:Attribut de mise à jour de NHibernate et hbm2dll

<property name="hbm2ddl.auto" value="update"/> 

Mais cela ne semble pas fonctionner du tout. L'attribut "Update" devrait permettre à NHibernate de générer des tables et des colonnes manquantes lors du lancement de l'application, mais cela n'arrive pas.

Si je veux des tables geenrated manquantes, je dois mettre la propriété hbm2dll.auto à "créer" ce qui n'est pas une option pour moi car elle supprime le contenu db existant au préalable.

J'ai rencontré le même problème avec le problème PostgreSQL. Est-ce que je manque quelque chose?

Répondre

1

Pour autant que je me rappelle, je résolu le problème en utilisant:

new SchemaUpdate(_cfg); 

S'il vous plaît lire au sujet SchemaUpdate dans la documentation NHibernate.

Vous pouvez également utiliser Fluent NHibernate qui fonctionnera comme vous l'attendez et encore mieux!

+1

Courant NHibernate est pas une alternative à SchemaUpdate –

2

Juste eu le même problème. J'ai changé la façon dont la propriété est définie. Au lieu de:

<property name="hbm2ddl.auto" value="update"/> 

je:

<property name="hbm2ddl.auto">update</property> 

Ensuite, cela a fonctionné :)

Questions connexes