Java – iterates the results in the list object returned by the hibernate query
                                        
                    •
                    Java                                    
                I have hibernate query as follows:
String MysqL = "SELECT S.col1,S.col2,T.col3,T.col4,T.col5 
                FROM myTable S,myTable1 T 
                WHERE S.id = :id and S.id = T.id";
Query myQuery = this.em.createQuery(MysqL);
myQuery.setParameter("id","123");
List<Object> result = myQuery.getResultList();
Tables mytable and mytable1 are entity classes
Myto is a simple java class with attributes col1, col2, col3, col4, col5
The results of the above query should be mapped to the properties of myto
How do I iterate over the columns in the results? Or do I retrieve the results incorrectly?
Solution
It appears that you are trying to query a subset of the table's columns To do this, you can use this example in Hibernate documentation:
Iterator kittensAndMothers = sess.createQuery(
            "select kitten,mother from Cat kitten join kitten.mother mother")
            .list()
            .iterator();
while ( kittensAndMothers.hasNext() ) {
    Object[] tuple = (Object[]) kittensAndMothers.next();
    Cat kitten = (Cat) tuple[0];
    Cat mother = (Cat) tuple[1];
     ....
}
If you have no problem retrieving the entire entity (or at least its first level simple attributes), you can use:
List<Cat> cats = session.createQuery(
    "from Cat where cat.name = ?")
    .setString(0,name)
    .list();
for ( Cat cat : cats ) {
    Cat mother = cat.getMother();
    ...
}
                
                            The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
                        
                                            
                        THE END
                    
                    
                    
                                                        二维码
                        
                        
                                                
                        