How do you select a column using Hibernate?

前端 未结 3 1625
北荒
北荒 2020-12-25 10:55

I would like to select a single column instead of a whole object, using Hibernate. So far I have this:

 List firstname = null;

 firstname = ge         


        
相关标签:
3条回答
  • 2020-12-25 11:14

    You can use ProjectionList if you want condition base projection e.g

      ProjectionList prjection = Projections.projectionList();
    if(abc){
        prjection.add(Projections.property("firstname"));
    }
    else if(xyz){
        prjection.add(Projections.property("lastname"));
    }
    
        ........
    
        criteria.setProjection(prjection);
    
    0 讨论(0)
  • 2020-12-25 11:17

    You can set the Projection for this like:

    .setProjection(Projections.property("firstname"))
    

    With this you can only get the firstname in return.

    I have found another link on stack with the same scenario. Hope this will also help How to use hibernate criteria to return only one element of an object instead the entire object?

    0 讨论(0)
  • 2020-12-25 11:24

    If you need to query 2 or more columns and get the values from the query, this is the way to do it:

    ....
    crit.setProjection(Projections.property("firstname"));
    crit.setProjection(Projections.property("lastname"));
    
    List result = crit.list();
    
    ...
    
    for (Iterator it = result.iterator(); it.hasNext(); ) {
        Object[] myResult = (Object[]) it.next();
        String firstname = (String) myResult[0];
        String lastname = (String) myResult[1];
    
        ....
    }
    
    0 讨论(0)
提交回复
热议问题