0
這裏的數據庫模式:java的休眠標準錯誤
Table A: public class A {
id integer, B objectB;
comment varchar(30), String comment;
id_B integer }
Table B: public class B {
id integer, C objectC;
comment varchar(20), String comment;
network integer }
Table C: public class C {
id Integer id;
name varchar(30) String name;
}
現在我需要創建檢查表C正確的「ID」和「評論」表B.我試圖做一個標準:
Criteria criteria = getSession().createCriteria(A.class);
criteria.createCriteria("objectB")
.createCriteria("objectC").add(Restrictions.idEq(networkID));
//gives org.hibernate.QueryException: duplicate association path: objectB error
if (comment != null && comment.length() > 0) {
criteria.createCriteria("objectB")
.add(Restrictions.like("comment", "%" + comment + "%"));
}
//second approach gives me no error but does not work, means I receive the wrong results
if (comment != null && comment.length > 0) {
criteria.add(Restrictions.like("comment", "%" + comment + "%"));
}
對不起,我忘了提,第二準則「評論」的,如果子句中只添加如果註釋不爲空,我想你解決方案並更新了我的代碼,但它不起作用 – wasp256
您是否嘗試使用別名?http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html#querycriteria-associations –