比較一個屬性可以這樣:
detachedCriteria.add(Restrictions.eq(XXX.PROP_ID,Integer.parseInt(id)));
如果比較的屬性本身類型是對象,那么可以這樣
detachedCriteria.add(Restrictions.eq(XXX.PROP_BM+".id",Integer.parseInt(bmid)));
以上面的語句為例,如果我比較其他屬性
detachedCriteria.add(Restrictions.eq(XXX.PROP_BM+".bmmc",bmmc));
這樣是不行的
解決方法:先定義一個別名
detachedCriteria.createAlias(XXX.PROP_BM, "bm");
然后可以這樣使用了
detachedCriteria.add("bm.bmmc",bmmc));
ps:個人總結:不使用別名,本身是對象的屬性后面只能跟其主鍵屬性,比較其他屬性要用別名。個人觀點,還沒有得到確認