微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NHibernate联接子类实体的简单集合

如何解决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 举报,一经查实,本站将立刻删除。