NHibernate:使用SchemaExport重新创建数据库

时间:2011-05-24 12:01:02

标签: nhibernate sessionfactory hilo schemaexport

我有一个关于正确处理数据库重新创建的问题。

在我的开发环境中,我经常使用

重新创建数据库
_schemaExport.Drop(true, true);
_schemaExport.Create(createResult, true);

(我必须注意,我使用 hilo生成器。)在我重新创建数据库之后,有时由于“{{1}而导致新实体的保存失败}“例外

我的问题: 我是否必须重新初始化会话工厂(甚至可能是会话)与新的hilo-using数据库正确同步?或者它可以原样工作吗?

任何提示都表示赞赏!

LG
warappa

1 个答案:

答案 0 :(得分:1)

我要说你必须在重新创建数据库后创建一个新会话。另一种选择是在重新创建DB之前清除现有的。

重新创建数据库后,ID生成器将从头开始。这可能导致某些生成的ID与先前存在的会话中的另一个对象的ID相同。因此,您将收到重复的密钥错误。