如何解决NHibernate联接子类实体的简单集合
| 我正在尝试将一组联接子类实体映射到父实体。 NHibernate生成的sql似乎不正确。我在映射中缺少任何内容吗?有没有其他方法可以解决这个问题?<class name=\"ResultItem\" table=\"result\">
<id name=\"ID\">
<generator class=\"identity\" />
</id>
<many-to-one name=\"Job\" column=\"JobID\"/>
<property name=\"Timestamp\"/>
<many-to-one name=\"User\" column=\"UserID\"/>
<joined-subclass name=\"ResultItemAttachment\" table=\"result_attachment\">
<key column=\"ID\"/>
<property name=\"Comment\"/>
</joined-subclass>
</class>
这是NHibernate生成的sql。似乎在上级成员和子类成员之间变得困惑了吗?唯一具有JobID的表是结果表,而不是result_attachment。
SELECT attachment0_.JobID as JobID1_,attachment0_.ID as ID1_,attachment0_.ID as ID26_0_,attachment0_1_.JobID as JobID26_0_,attachment0_1_.`Timestamp` as Timestamp26_0_,attachment0_1_.UserID as UserID26_0_,attachment0_.`Comment` as Comment33_0_
FROM result_attachment attachment0_
inner join result attachment0_1_ on attachment0_.ID=attachment0_1_.ID
WHERE attachment0_1_.JobID=?;
提前致谢
解决方法
恐怕这目前是NHibernate中的一个错误(自2.1:|以来一直存在)目前,在当前的alpha版本3.2中已修复
https://nhibernate.jira.com/browse/NH-1747
可能的解决方法是在运行时手动提取包。不太理想,其他选择是尝试运行Alpha版本,但是在生产环境中运行Alpha并不是一个好主意。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。