2013-07-22 209 views
0

我有一個JList的gui應該包含個性的所有字段和值category1 categories2沒有重複和按字母順序排序。休眠條件投影JList

要做到這一點,我使用的標準和投影

public List<TPersonalities> findAllCategories(){ 
    getSession().beginTransaction(); 
    Criteria criteria = getSession().createCriteria(TPersonalities.class); 
    ProjectionList projList = Projections.projectionList().add(Projections.property("category1")).add(Projections.property("category2")); 
    criteria.setProjection(projList); 
    criteria.addOrder(Property.forName("category1").asc()).addOrder(Property.forName("category2").asc()); 
    return criteria.list(); 
} 

而這裏的方法中PersonalitiesController意義上的方法顯示findAllCategorie()的結果:

public void setJListForCategories(List<TPersonalities> personalitiesListCat, JList listCategories){ 
     DefaultListModel modelList = new DefaultListModel(); 
     for(int i = 0; i < personalitiesListCat.size(); i++){ 
      modelList.addElement(personalitiesListCat.get(i)); 
     } 

     listCategories.setModel(modelList); 
     setListNames(listCategories); 
} 

問題是當我運行應用程序來測試它時,顯示了對象的樣式,樣式:[Ljava.lang.Object; @ 4a9c1114 ... 我能做些什麼來解決這個問題?

預先感謝您

回答

0

只是爲了TPersonalities添加toString()方法如:

@Override 
public String toString() { 
    return parameterOfTPersonalities; 
} 
+0

您好 感謝您的回覆....我忘了提,我已經覆蓋的toString ....並沒有什麼變化...... 下面的代碼: – user2607012

+0

「@覆蓋 \t公共字符串的toString( ){ \t \t StringBuffer sb = new StringBuffer(); \t \t sb.append(this.nameKnow).append( 「 」).append(this.name) \t \t .append(「, 」).append(this.firstname).append(「,」)。追加(this.dateDetails) \t \t .append( 「 」).append(this.category1).append(「, 」).append(this.category2).append(「,」) \t \t .append(這個.append(「,」).append(this.image).append(「,」) \t \t .append(this.wikipediaLink).append(「,」).append(this.websiteLink)。 append(「,」) \t \t .append(this.description); \t \t return sb.toString(); \t}' – user2607012

0

Re..Now我嘗試檢索所有在我findAllCategories(concerne產品組別)並沒有問題,但現在我只有類別1和類別2沒有價值,有一些重複...

這裏是代碼:

public List<TPersonalities> findAllCategories(){ 
    getSession().beginTransaction(); 
    Criteria criteria = getSession().createCriteria(TPersonalities.class); 
    ProjectionList projList = Projections.projectionList().add(Projections.property("category1"));//.add(Projections.property("category2")); 

    criteria.setProjection(projList); 
    criteria.addOrder(Property.forName("category1").asc());//.addOrder(Property.forName("category2").asc()); 
    return criteria.list(); 
}