在 Hibernate/NHibernate 中映射类继承的多对多关系
在最简化的版本中,这是我的问题
public class D{
public List<A> ListofA {get;set;}
}
public interface A{
}
public class B implements A{
}
public class C implements A{
}
B 类
映射到表 Bclass C
映射到Table C
A 只是一个接口,没有映射到任何表。
如何定义D -> 之间的多态(多对多
)关联A
我正在使用 NHibernate
和 FluentMapping
。
In the most simplified version , here is my problem
public class D{
public List<A> ListofA {get;set;}
}
public interface A{
}
public class B implements A{
}
public class C implements A{
}
class B
maps to Table Bclass C
maps to Table C
A is just an interface and is not mapped to any table.
How do I define the polymorphic (many-to-many
) association between D -> A
I am using NHibernate
with FluentMapping
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我试图回答我自己的问题。
但是我想找到这个问题的更好/更合理解决方案。
这是我的解决方案:
重新设计
D类
我重新设计
D类
,因为其余实体没有变化。
映射
Fluent Mapping
此设计更改应该允许我为上述重新设计的类结构
我想我选择使用在
Class D
和Class A
之间添加新关系是我无法找到直接在 Fluent 中映射它的方法。
I am attemped to answer my own question.
However I would like to find out BETTER/ MORE RATIONAL solution to this problem.
Here is my solution:
Redesign
Class D
I redesign
class D
asNO changes in the remaining entities.
This design change should allow me to map
Fluent Mapping
for the above redesigned class structure
Guess I choose to use add a new relation between
Class D
andClass A
is thatI was not able to find a way to map it directly in Fluent.