Hibernate Kriterien-Liste zu iterieren

Habe ich den folgenden Abschnitt von code, den ich verwenden wollte, um wieder eine Sammlung meiner Objekt:

Session session = HibernateUtil.getSession();

List<MyObj> myObjList = (List<MyObj>) 
        session.createCriteria(MyObj.class)
            .add(Restrictions.eq("searchField", searchField)).list();

Iterator<MyObj> myObjIt = myObjList.listIterator();
log.debug("list size: " + myObjList.size());

while(myObjIt.hasNext()){
    MyObj myObj = myObjIt.next();
    log.debug(myObj.getMyField());

}

Aber mein log hält den Druck den gleichen Datensatz, so oft wie die Größe der Liste. Wenn ich etwas umgestalten, mein code funktioniert korrekt, wie diese:

SQLQuery query = session.createSQLQuery(
    "select my_field from my_table where search_field = :searchField"
    );

query.setParameter("myField", myField);
List result = query.list();
for(Iterator iter = result.iterator(); iter.hasNext();){
    Object[] row = (Object[]) iter.next();
    log.debug(row[0]);
}

Mache ich etwas falsch, in meinem ersten code-segment? Ich sollte in der Lage sein zu gehen über diese entweder Weg, und da bin ich mit Hibernate, würd ich eher ORM funktionieren wie erwartet, so würde ich lieber das bisherige Verfahren über die letzteren. Jemand irgendwelche Gedanken?

Fwiw, ich bin mit Hibernate 3.5.4 abschließende, Hibernate-validator 4.2.0 Final, hibernate-search 3.4.0-Finale und hibername-c3p0 3.6.5 Finale, alle aus dem maven-repos.

Bearbeitet, um zu klären, basierend auf Kommentare.

Verstehe nicht, was Sie erwarten, dass die "richtige" Verhalten zu sein. Wenn Sie die Abfrage jedes Objekt where name = 'Joe'; und es gibt 100 Gegenstände. Wenn Sie dann Durchlaufen Sie diese und drucken Sie den Namen, was sonst y ou zu erwarten, aber 'Joe' 100 mal?
Sorry. Ich habe klargestellt. Ich bin auf der Suche auf einem Feld, das einen Wert haben wird, auftreten, viele Male, und bin auf der Suche nach anderen Feld Werte. Hab verloren, wenn ich verdeckt war, was ich Tat, ein wenig.

InformationsquelleAutor dmcnelis | 2011-07-24

Schreibe einen Kommentar