很早以前就在发现DetachedCriteria createCriteria(String associationPath, String alias)方法的第二个参数alias不起作用,终于在最新的hibernate3.2.6中得到修复,其实这个bug早就有人提过(http://opensource.atlassian.com/projects/hibernate/browse/HHH-925),其实修改代码也挺简单的,代码对比如下
3.2.5:
public DetachedCriteria createCriteria(String associationPath, String alias)
throws HibernateException {
return new DetachedCriteria( impl, criteria.createCriteria(associationPath) );
}
3.2.6:
public DetachedCriteria createCriteria(String associationPath, String alias)
throws HibernateException {
return new DetachedCriteria( impl, criteria.createCriteria(associationPath, alias) );
}
这个问题在我以前的一篇文章中提过(http://blog.youkuaiyun.com/wangjian5748/archive/2007/01/01/1471828.aspx)
与此相关的bug还有一个(HHH-1685:DetachedCriteria doesn't create alias on subcriteria),当然这个bug也得到了修改,这个bug在我那篇文章页也有提过