我正在使用schemaExport为我的自动测试创建一个内存数据库。我有几(5)个类将它们的HiLo标识映射到相同的数据库表,每个类使用一列。
这给了我一个表,hibernate_unique_key,w。5列。然而,当使用scemaexport生成数据库时,该表只获得一列(IPoolActivation),因此导致查询失败,因为模型中的映射现在是无效的。我尝试过手动查询内存中的数据库来创建表,但我更希望知道如何让schemaexport正确地完成这项工作。
我的一个映射文件中的一个片段;
<id name="Id" column="Id" type="Int32">
<generator class="hilo">
<param name="column">IENPool</param>
</generator>
</id>这样做的正确方法是什么?
发布于 2009-12-25 08:13:35
我相信SchemaExport中有一个bug (或者是故意的),当它看到第一个带有HiLo的实体时,它只会查看hibernate_unique_key表一次。因此,所有HiLo实体必须使用相同的列。
但是,我最近需要一个自定义的IdGenerator,它基于HiLo继承自的NHibernate中的相同基类。对于这个数据库,我需要每个表都有一列(它适用于用这种方式使用HiLo样式生成器设置的遗留数据库)。
你可以看看我在这里做了什么,如果它有用的话:
Implementing a custom id Generator for nHibernate
Generate custom DDL for a custom id Generator
Entire post on nhibernate.info
https://stackoverflow.com/questions/1944927
复制相似问题