如何使用 nHibernate 映射 n 列主键
我有一个包含 2 列作为 PK(复合主键)的表。
如何将它们映射到 hbm.xml
中的“Id”?
<id name="A" />
我怎样才能用流畅的nhibernate做到这一点?
I have a table with 2 columns as PK (composite primary key).
How can I map them to "Id" in hbm.xml
?
<id name="A" />
How can I do it with fluent nhibernate?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
NHibernate 文档描述了如何使用和映射 composite-id。
您还可以使用组件作为compositeid。
对于 Fluent NHibernate:
The NHibernate documentation describes how to use and map a composite-id.
You can also use a component as compositeid.
And for Fluent NHibernate:
对于 nHibernate 中的复合主键,我建议;
对于 hbm.xml:
然后您应该重写 Equals 和 GetHashCode 方法,以便 nHibernate 知道如何比较您的新密钥并识别不同的对象。这取决于您愿意走多远,您也可以使用“键多对一”将外键映射到这些上。
对于多对一的键:
对于流畅的休眠,复合键如下所示:
For a composite primary key in nHibernate I would suggest;
For the hbm.xml:
And then you should override Equals and GetHashCode methods, so that nHibernate knows how to compare your new key and identify different objects. It depends on how far you are willing to go, you can as well map foreign keys on these by using "key-many-to-one".
For a key-many-to-one:
For fluent hibernate a composite key looks like:
尝试一下 NHibernate...
以及流畅的 Hibernate
希望对您有帮助...:-)
try this for NHibernate...
and for fluent Hibernate
hope that helps you...:-)