Java 在Hibernate中以字符串形式返回不同的条件结果

Java 在Hibernate中以字符串形式返回不同的条件结果,java,sql,hibernate,criteria,Java,Sql,Hibernate,Criteria,我试图创建一个标准,从列中选择不同的值。如何将该值作为字符串返回 我有这个: Criteria criteria = session.createCriteria(Students.class) .add(Restrictions.eq("studentYear","2")) .add(Restrictions.eq("studentSemester","1")) .setProjection(Projections.d

我试图创建一个标准,从列中选择不同的值。如何将该值作为字符串返回

我有这个:

Criteria criteria = 
    session.createCriteria(Students.class)
           .add(Restrictions.eq("studentYear","2"))
           .add(Restrictions.eq("studentSemester","1"))
           .setProjection(Projections.distinct(Projections.property("studentHostel")));

如有任何意见,将不胜感激。我可以将其转换为字符串值吗?

我认为您必须像下面那样手动执行

Criteria criteria = 
    session.createCriteria(Students.class)
           .add(Restrictions.eq("studentYear","2"))
           .add(Restrictions.eq("studentSemester","1"))
           .setProjection(Projections.distinct(Projections.property("studentHostel")));

List<String> listObj = criteria.list();
StringBuffer sb = new StringBuffer();
for(String str: listObj){
 sb.append(str+',');
}
标准=
会话.创建标准(学生.班级)
.add(限制.eq(“学生年”,“2”))
.add(限制.eq(“学生学期”,“1”))
.setProjection(projects.distinct(projects.property(“studentHostel”)));
List listObj=条件。List();
StringBuffer sb=新的StringBuffer();
for(字符串str:listObj){
sb.追加(str+',);
}

像逗号分隔的吗?你不能对结果集执行String.join吗?@Stanley这将只返回列表