1、Using non-qualified column reference
在hibernate中使用HQL直接對數(shù)據(jù)庫進(jìn)行update、save、delete操作時,日志中會輸出:
- org.hibernate.hql.ast.tree.FromElementType -164767 [http-8080-Processor72] WARN - Using non-qualified column reference
org.hibernate.hql.ast.tree.FromElementType -164767 [http-8080-Processor72] WARN - Using non-qualified column reference
的警告信息。該警告實(shí)乃Hibernate-3.2.0版本的BUG,原因是hibernate執(zhí)行HQL時沒有細(xì)分操作類型,日志記錄類型有誤,該BUG已在3.2.1中修復(fù)。
2、deleted object would be re-saved by cascade (remove deleted object from associations)
在hibernate 刪除關(guān)聯(lián)時會出現(xiàn)eleted object would be re-saved by cascade (remove deleted object from associations)的異常,結(jié)合別人的和自己的經(jīng)驗(yàn)通常有三種解決的方案:
方法1 刪除Set方的cascade:
方法2 解決關(guān)聯(lián)關(guān)系后,再刪除
onside.getManys().remove(thisMany); //在所關(guān)聯(lián)的一方的set中移走當(dāng)前要刪除的對象
thisMany.setOne(null); //設(shè)置所對應(yīng)的一方為空,解除它們之間的關(guān)系
manyDao.delete(thisMany);
方法3 在many-to-one方增加cascade 但值不能是none