Java 有人能帮我写下hibernate的查询条件吗

Java 有人能帮我写下hibernate的查询条件吗,java,hibernate,Java,Hibernate,这是我的疑问: select id from role_sub_module_mapping where role_id='165'; 我已经试过了,但是没有得到想要的输出 Criteria cr = super.getSession().createCriteria(RoleSubModule.class); cr.add(Restrictions.eq("roleId", '165')); 您的条件查询 cr.add(Restrictions.eq("roleId", '165'));

这是我的疑问:

select id  from role_sub_module_mapping where role_id='165';
我已经试过了,但是没有得到想要的输出

Criteria cr = super.getSession().createCriteria(RoleSubModule.class);
cr.add(Restrictions.eq("roleId", '165'));
您的条件查询

cr.add(Restrictions.eq("roleId", '165'));
这几乎是正确的。现在,它返回一个RoleSubModule实例列表,其中包含roleId 165

为了获得Id,您需要在Id属性上使用投影:

cr.setProjection(Projections.property("id");
您的条件查询

cr.add(Restrictions.eq("roleId", '165'));
这几乎是正确的。现在,它返回一个RoleSubModule实例列表,其中包含roleId 165

为了获得Id,您需要在Id属性上使用投影:

cr.setProjection(Projections.property("id");

roleId='165'具有多个id'sTry this.cr.add(Restrictions.eq(“roleId”,165));请看和。您想要的输出是什么?输出应该是表中roleId='165'的id列。roleId='165'具有多个id'sTry this.cr.add(Restrictions.eq(“roleId”,165));请看和。您想要的输出是什么?输出应该是表中roleId='165'的id列。如何将此id放入变量中,以便我可以使用此id更新当前的行…您可以帮助我执行查询吗,就像这样(假设roleId是唯一的并提供单个结果,并且属性id是数字类型,例如长):
Number结果=(Number)cr.uniqueResult();long id=result.longValue()
uniqueResult可能返回不同的类型(例如Long、BigInteger),但如果属性为数值,它将始终至少是一个数字。在这种情况下,请使用
List result=cr.List()如何在变量中获取此id,以便我可以使用此id更新当前的行…您是否可以帮助我执行查询,就像这样(假设roleId是唯一的并提供单个结果,并且属性id是数字类型,例如长):
Number result=(Number)cr.uniqueResult();long id=result.longValue()
uniqueResult可能返回不同的类型(例如Long、BigInteger),但如果属性为数值,它将始终至少是一个数字。在这种情况下,请使用
List result=cr.List()