gpt4 book ai didi

nhibernate - 具有隐式多态性的每个具体类的表有什么实际用途吗?

转载 作者:行者123 更新时间:2023-12-04 05:59:28 25 4
gpt4 key购买 nike

如果使用每个具体类的表映射继承,而像任何其他类(没有联合子类)一样简单地映射具体类,NHibernate 允许跨子类使用相同的 PK。例如,如果您有 BillingDetails 以及 CreditCard 和 BankAccount 的子类,则请求所有 BillingDetails 将从两个表中获取所有记录,而这些记录又可能具有重复的主键,由于这些对象的业务标识无效,这可能会出现问题。 guid 之类的情况当然不是这样,但是普通身份或序列 id 生成器的情况呢?

简单地说,问题是,在请求这样的多态查询时,是否真正使用了这种重复 id 键的场景?在内部处理实体时,这些重复的 id 会给 NHibernate 带来问题吗?

最佳答案

当映射表不共享公共(public)键的遗留模型时,隐式多态是必要的。

获取具有相同 Id 的 CreditCard 和 BankAccount 实例的 BillingDetails 列表没有问题,因为 NH 知道它们是不相关的(并且它们被视为相关仅用于查询,通过为每个映射的子类运行一个查询)

您不应该将其用于绿地开发。

关于nhibernate - 具有隐式多态性的每个具体类的表有什么实际用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9097933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com