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 命令未正確結(jié)束
(2)hql="delete from TbProduceplanaccount ppa where ppa in (from TbProduceplanaccount ppa where ppa.tbBusinessplanaccount.batch=:batch and ppa.tbProduceplanbook.id=:bookid)";
總結(jié): hibernate的理解方式與人不同,不能自動生成子查詢;
更新或刪除操作是不允許聯(lián)表的,必須通過子查詢找出數(shù)據(jù).題外語:級聯(lián)刪除是要設置映射的.
posted on 2011-11-17 12:47
紫蝶∏飛揚↗ 閱讀(1289)
評論(0) 編輯 收藏 所屬分類:
Hibernate