1

只是想知道是否有人知道是否有一种方法可以使用某些属性自动创建多对多关系表?无需创建表,或将类映射为该关系表。

如果我添加属性 [ManyToMany(3,Class="DeploymentListUsers")] 我收到一个错误,即此类未映射到数据库。

NHibernate.MappingException:来自表用户的关联引用了未映射的类:

我不想自己定义类,也不想事先在数据库中创建表。

在 JAVA 中似乎是可能的,流畅的 NHibernate 是完全实现的休眠和 JPA 注释版本吗?

http://www.hiberbook.com/HiberBookWeb/learn.jsp?tutorial=19mappingmanytomanyrelationships

谢谢, 伊泰

4

3 回答 3

0

我对类似问题的回答可能会对您有所帮助:https ://stackoverflow.com/a/12198533/185200

我最终扩展了多对多自动映射步骤以支持用自定义属性装饰的属性。

于 2012-08-30T13:59:48.020 回答
0

如果你指定一个类,你必须确保它也存在。NHibernate 不会为你创建一个类。但是,如果您的多对多表仅包含部署表的外键和用户表的外键,则不需要这样的类。如果要存储有关关系的其他事实,则只需要一个单独的多对多映射类。

据我所知,在您的情况下,您只需要创建多对多表(您可以使用 NHibernate 的 SchemaExport() 来生成 CREATE TABLE 语句,因此那里有一些自动化)并告诉 NHibernate 如何映射到它. 与您不同,我不使用映射属性,所以我不知道如何使用它们进行映射,但这可能非常简单。

于 2009-11-27T14:57:34.790 回答
0

NHibernate 现在支持 JPA(在 .NET 平台上称为 NPersistence 或 NPA),包括 JPA 注释。这是指定关系并使您的代码也可移植给其他供应商的最佳方式。看看:www.npersistence.com

于 2011-12-05T11:58:03.140 回答