当前位置: 首页 > 知识库问答 >
问题:

在hibernate中编写sql查询

柴嘉禧
2023-03-14

我有一个sql查询:

     select COUNT (distinct agentG) as count from Test_CPView where kNum = ‘test k1’ and pName = ‘test p1’
    statelessSession = sessionFactory.openStatelessSession();
    Criteria crit = statelessSession.createCriteria(APRecord.class, "apr");

    ProjectionList projList = Projections.projectionList();

        projList.add(Projections.groupProperty("pName"));
        projList.add(Projections.groupProperty("kNum"));
        projList.add(Projections.countDistinct("agentG"));
        crit.setProjection(projList);

这就产生了:

Hibernate:选择this_.pName为y0_,this_.kNum为y1_,count(distinct this_.agentg)为y2_from Test_CPView this_where(低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)按this_.pname,this_.克纳姆

并且返回结果为空。我如何将上面的sql查询转换成Hibernate?

共有1个答案

黄朗
2023-03-14

Session.CreateCriteria from Docs

您尚未添加限制

    statelessSession = sessionFactory.openStatelessSession();
        Criteria crit = statelessSession.createCriteria(APRecord.class, "apr");
    crit .add(Restrictions.eq("kNum", "test k1"));
    crit .add(Restrictions.eq("pName ", "test k1"));
    crit.setProjection(Projections.countDistinct("agentG"));
    Integer count = crit.uniqueResult();
 类似资料:
  • 我们有三个表格用户,答案和拉伸。当某人登录到我们的系统时,我们将user_id、created_at和updated_at存储在拉伸表中,当他/她注销时,更新删除在同一行中。 会议时间30分钟。 id id user_id 身体 created_at updated_at id 现在,我只想从Stretcions表中得到那些已经给出答案的行。我写了这个查询,但它需要很多时间,但没有返回准确的数据。

  • 其中“in”是来自用户的输入。 我只从hibernate中的两个表中映射了Emp_Id作为主键,因此hibernate条件将只对该表应用联接,而不对Langcode应用联接。 注意:-我不能更改hibernate映射,只能使用hibernate标准,根据客户的要求,请帮助我。

  • 我试图访问数据库FK使用命名SQL查询与Hibernate,这个想法是查询一个客户表,其中包含名称,和公司ID等。CompanyId是对应表的FK。我写的查询如下: 我目前面临的问题如下: 线程“main”组织中出现异常。冬眠QueryParameterException:位置超出已声明序数参数的数量。请记住,序数参数是基于1的!职位:2个在组织。冬眠发动机查询spi。参数元数据。位于org的ge

  • 我有3个表作为学生数据,包括学生的数据,科目表的数据提供的所有科目和分数,学生获得的每一个科目的分数。通过StudentId标记到StudentData表的表映射,通过SubjectId标记到Subjects表的表映射 我想做的是选择每个科目的最高分数和学生的名字,如下所示 所以我写了一个甲骨文PL / SQL查询如下, 但它只给出了一个结果。请帮助我开发一个查询来获取我的预期结果集。

  • 我正在使用spring data JPA,我想在我的存储库中编写一个SQL查询。 我有一个下面的SQL查询(注意左边的连接): 我想在我的机构存储库中执行它,如下所示: 我想要的内容:(在此查询中,id设置为1,用于表示目的) 我看过很多这样的问题和答案(比如这一个),但我还没能找到答案。 那么,我如何编写这个查询,以便得到我想要的东西呢? 我得到了一个例外: mysqlsyntaxerrorex

  • 问题内容: 我有此查询,它运行良好 从此查询中,我从我的位置(这是我的第一张表)中选择所有3 KM的餐厅。 但是我需要从3Km中的食品接头中选择AVG等级。 该查询也运行完美: 但是我需要添加这两个查询,通过它们我可以选择所有那些食品接头及其等级AVG。 问题答案: 只需放置子查询,您将得到结果: