隨筆-9  評論-168  文章-266  trackbacks-0
          dao.getHibernateSession().createQuery(hql).setParameter("bookid", bookid).setParameter("batch", batch).executeUpdate(); 

          (1)String hql="delete from TbProduceplanaccount ppa where ppa.tbBusinessplanaccount.batch=:batch and ppa.tbProduceplanbook.id=:bookid ";
          異常:
          Hibernate: delete from Tb_ProducePlanAccount, Tb_BusinessplanAccount tbbusiness1_ where batch=? and ProducePlanBook_ID=?
          2011-11-17 11:50:16,166 WARN  [JDBCExceptionReporter] SQL Error: 933, SQLState: 42000
          2011-11-17 11:50:16,166 ERROR [JDBCExceptionReporter] ORA-00933: SQL 命令未正確結束 

          (2)hql="delete from TbProduceplanaccount ppa where ppa in (from TbProduceplanaccount ppa where ppa.tbBusinessplanaccount.batch=:batch and ppa.tbProduceplanbook.id=:bookid)";
          執行正常.

          總結: hibernate的理解方式與人不同,不能自動生成子查詢;更新或刪除操作是不允許聯表的,必須通過子查詢找出數據.
          題外語:級聯刪除是要設置映射的.
          posted on 2011-11-17 12:47 紫蝶∏飛揚↗ 閱讀(1297) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 青阳县| 红桥区| 安远县| 桃江县| 鹤壁市| 吉木萨尔县| 綦江县| 牡丹江市| 镇坪县| 阜南县| 宜阳县| 科技| 岳西县| 淮阳县| 个旧市| 丹寨县| 班戈县| 乡城县| 昂仁县| 河源市| 博爱县| 舒城县| 龙南县| 深泽县| 贵南县| 盐源县| 锦州市| 阿合奇县| 玉溪市| 长乐市| 汉阴县| 伊春市| 凤庆县| 定兴县| 都江堰市| 涿鹿县| 多伦县| 万州区| 平凉市| 迁西县| 胶南市|