循环通过hibernate数据源问题

时间:2012-10-13 20:03:37

标签: java hibernate

我已经实现了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个小时。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您不会对构造函数中的criteria参数执行任何操作:

HibernateLoopDataSource(Session hibernate, 
                        Class<?> typeOfClass, 
                        AppliedCriteria appliedCriteria){
    this.hibernate = hibernate;
    this.typeOfClass = typeOfClass;
    // you should have this.appliedCriteria = appliedCriteria here
}