【问题标题】:Hibernate QueryException couldn't resolve propertyHibernate QueryException 无法解析属性
【发布时间】:2009-10-11 10:11:39
【问题描述】:

我有这个 .hbm.xml 文件:

       Evenement.hbm.xml :

      <hibernate-mapping package="com.af.evenement">
         <class name="Evenement" table="TB_EVENEMENT">

         <id name="id" type="string" column="CODE_EVENEMENT">
               <generator class="assigned" />
         </id>

         <set name="causesAnnexes">
            <key column="CODE_EVENEMENT" />
            <one-to-many class="CausesAnnexesEvt" />
         </set>
         ........

我还有另一个 .hbm.xml 文件:CausesAnnexesEvt:

       <class name="CausesAnnexesEvt" table="TB_CAUSESANNEXES_EVT">
           <composite-id name="id" class="CausesAnnexesEvtPK">
               <key-many-to-one 
                    class="Evenement"
                    column="CODE_EVENEMENT"
                    name="Evenement"
                />
                <key-many-to-one
                    class="Cause"
                    column="CODE_CAUSE"
                    name=cause"
                 />

                 </composite-id>
          </class>

当我尝试使用这行代码删除一个 Evenement 对象时:

       Session s=getCurrentSession();
       tx=s.beginTransaction();
       s.delete(evenement);
       s.flush();
       s.clear();

当我运行上面的代码时,我得到了以下异常:

      QueryException : could not resolve property : causesAnnexesEvt.

【问题讨论】:

    标签: java hibernate jakarta-ee


    【解决方案1】:

    Hibernate 在您的类 Evenement 中查找名为 causesAnnexesEvt 的字段,但找不到。确保类中的字段和 hbm.xml 中的列定义使用相同的名称。

    【讨论】:

      【解决方案2】:

      显示的异常不是 session.delete() 抛出的。要么您没有向我们展示完整的代码(堆栈跟踪会有所帮助,顺便说一句),要么它是在会话工厂初始化期间抛出的(从 getCurrentSession() 中调用?)因为您的命名查询之一无法解析。

      因此,虽然 Aaron 关于缺少 causesAnnexesEvt 属性是导致此异常的原因是正确的,但您的帖子中绝对没有任何内容表明它应该是 Evenement 的属性。在您的所有命名查询中搜索 causesAnnexesEvt,并查看哪个引用了它以及它希望从哪个实体获取它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-25
        相关资源
        最近更新 更多