Hibernate条件查询以获取特定列结果
我尝试使用条件获得单列结果,但我没有得到该结果的完美输出Hibernate条件查询以获取特定列结果,hibernate,criteria,Hibernate,Criteria,我尝试使用条件获得单列结果,但我没有得到该结果的完美输出 Criteria criteria = session.createCriteria(GroupName.class) .setProjection(Projections.property("groupName")); criteria.createAlias("gcmUsers", "user").setResultTransformer( Criteria.DISTI
Criteria criteria = session.createCriteria(GroupName.class)
.setProjection(Projections.property("groupName"));
criteria.createAlias("gcmUsers", "user").setResultTransformer(
Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Restrictions.eq("user.clientName", userName));
groupNames=criteria.list();
i am getting this output :
Default, Default, Default, Default, Default, Default, twiter_grp
but my actual output is :
Default, twiter_grp,friends
您可以使用Projections.distinct方法
Criteria criteria = session.createCriteria(GroupName.class)
.setProjection(Projections.distinct(Projections.property("groupName")));
criteria.createAlias("gcmUsers", "user").setResultTransformer(
Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Restrictions.eq("user.clientName", userName));
groupNames=criteria.list();
您可以使用Projections.distinct方法
Criteria criteria = session.createCriteria(GroupName.class)
.setProjection(Projections.distinct(Projections.property("groupName")));
criteria.createAlias("gcmUsers", "user").setResultTransformer(
Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Restrictions.eq("user.clientName", userName));
groupNames=criteria.list();
因此,最终您将面临两个问题:1。你没有得到明显的结果&2。您没有在输出中获得
朋友
。是吗?是的,我面临两个问题。你能用数据显示表吗?请看:gcmUserstable和GroupName具有多对多关系。用户名是admin,组表的数据是Default,twitter\u grp,friendsgroup名称,所以最终您将面临两个问题:1。你没有得到明显的结果&2。您没有在输出中获得朋友
。是吗?是的,我面临两个问题。你能用数据显示表吗?请看:gcmUserstable和GroupName具有多对多关系。用户名是admin,组表的数据是Default,twitter\u grp,friendsgroup name