0

我已经实现了 HibernateLoopDataSource,其中我有构造函数,一个没有应用标准,一个有。看起来像以下

HibernateLoopDataSource.java

//code trimmed
HibernateLoopDataSource(Session hibernate, Class<?> typeOfClass){
  this.hibernate = hibernate;
  this.typeOfClass = typeOfClass;
}

HibernateLoopDataSource(Session hibernate, Class<?> typeOfClass, AppliedCriteria appliedCriteria){
  this.hibernate = hibernate;
  this.typeOfClass = typeOfClass;

}



AppliedCriteria.java //looks like following 

它是一个接口,只包含一个方法

applyingCriteria(Criteria criteria);

GettingArticles.java

// code trimmed

public LoopDataSource getArticles(){
return new HibernateLoopDataSource(hibernate, Article.class, new AppliedCriteria(){
 public void applyingCriteria(Criteria criteria){
   criteria.add(Restrictions.eq("article.id", fullCommentPageListing.getArticle().getId()));}});}

但是,当我尝试初始化时,它不会报告任何内容,但是它会在不应用条件的情况下循环。这个问题的原因可能是什么,我坚持了 2 个小时,这可能是一些微不足道的,我看不到它,因为我为此工作了 8 个小时。任何帮助表示赞赏。

4

1 回答 1

1

您不对构造函数中的条件参数做任何事情:

HibernateLoopDataSource(Session hibernate, 
                        Class<?> typeOfClass, 
                        AppliedCriteria appliedCriteria){
    this.hibernate = hibernate;
    this.typeOfClass = typeOfClass;
    // you should have this.appliedCriteria = appliedCriteria here
}
于 2012-10-13T20:21:19.957 回答