本帖最后由 fonkyjon 于 2012-10-15 14:33:10 编辑

解决方案 »

  1.   

    一时没想出是什么原因,难道hibernate在update下,不能自动关联表处理?
      

  2.   

    Hibernate的Update功能一般通过类去实现,如:多方Bean.set(一方Bean);多方Service.update(多方Bean);是通过Hibernate的库函数实现的。HQL一般只用来查询。
      

  3.   

    hibernate映射的实体类之间关系不对,hibernate自动生成的sql语句执行的是它对应生成的实体类,不会直接对数据库操作。
      

  4.   

    哪不对了呢?
    两者的关系我都配置好了,查询都能正常。就update时那个条件,它不会自动关联两个表作为条件。。
      

  5.   

    我在想它是不是生成不了这么复杂的关联语句。
    关联查询可以两表通过id=caseId and projectId=?关联起来查询。但是如果放在update中的话,就不能是这样子的条件,得使用exists或是in另一个表来实现。
      

  6.   

    hql语句如下:
    update PMRequirementCommonTestcaseResult set versionName=? where versionName=? and pmRequirementCommonTestcase.projectId=? 明显有问题吗 
    你关系没有用上 
    hql语句如下:
    update PMRequirementCommonTestcaseResult pt set versionName=? where versionName=? and pt.pmRequirementCommonTestcase.projectId=?试试
      

  7.   


    本来PMRequirementCommonTestcaseResult就包含了pmRequirementCommonTestcase的,有必要再pt吗?查询那里都不用这样子。我没试,不过我这样子没区别。