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

如何在使用查询 DSL 的查询中使用示例关键字

慕震博
2023-03-14

样本子句

sample_clause允许您指示数据库从表中的随机数据样本中进行选择,而不是从整个表中进行选择。

我想使用QueryDSL运行下面的查询

样本子句

sample_clause允许您指示数据库从表中的随机数据样本中进行选择,而不是从整个表中进行选择。

从测试t样本(80)中选择,其中t.test_id=01,t.test _ suite _ id = 02

其中条件是动态的,我使用queryDSL生成它,但我不知道如何添加SAMPLE关键字来查询DSL。

public Long getCount(TestDTO testDTO) {
    JPAQuery<Tuple> query = new JPAQuery<>(entityManager);
    QTest qTest=QTest.test;
    //dynamic where condition.
    OptionalBooleanBuilder where = buildCondition(testDTO);
    
    List<BigDecimal> output=query
            .select(qTest.testId)
            .from(qTest)
            .where(where.build()).fetch();
   //finally return the output.
}

共有1个答案

锺超英
2023-03-14

示例是特定于数据库方言的函数,在 JPA 的查询语言 JPQL 中不可用。因此,您需要在 ORM 实现中为方言注册一个自定义函数。您可以使用自定义函数自行注册这些函数。

然而,在这之后,这些函数在QueryDSL中仍然是不可访问的。为此,您必须实现自定义的< code>Operation实现,并将其与< code>JPQLTemplates的子类中的“template”相关联。或者,您可以创建一个< code>TemplateExpression内联:< code > expressions . template(integer . class," SAMPLE({0})",arg1)。

 类似资料:
  • 问题内容: 谁能指出我有关如何在JPA查询中使用的示例? 是在JPA中指定的,但我无法使其工作。我总是例外。既然在JPA中指定了它,那么所有提供商都应该遵守它吗? 我正在使用EclipseLink 2.0 BTW。 问题答案: 可以这样使用: … 建立的 是时间类型: 这不是一个很好的例子,但是您明白了。 我正在使用Eclipselink 1.1.2

  • 我的申请中有以下实体: 地址 在实体中: 在< code >广告实体中: 完整实体: 我想找到所有的家庭广告实例,其成员的地址在所需地址的20KM以内。 以下是我得出的结论: 但是,似乎我错误地使用了数字路径类,因为我不断得到一个NPE。任何人都可以帮我正确查询吗? 编辑:我已经改变了我的家庭广告实体如下: 我现在得到以下异常: 第64行是这样的: 任何线索现在出了什么问题? edit2:我忘了提

  • 需要实现sql查询,如: 如何使用QueryDSL编写这样的语句?(我没有使用任何JPA)。任何帮助/提示都非常感谢!

  • 我做了一个图书馆管理系统。我正试图打印学生问题书,但SQL查询遇到了问题。下面是用户。用于打印发行书籍的php代码。我也上传了数据库,方便大家参考。请帮忙。 使用者php 以下是图书馆管理系统的数据库。 数据库是这样关联的:-usertable将id作为主键。Book将isbn作为主键,bookid作为外键。类型将bookid作为主键。存折的外键为isbn,主键为uid。我想显示存折,其中会显示存

  • 想知道如何看待mysql json专栏? category_ids例如) [19, 102, 108] 如果我想搜索包含类别id 102的产品列表,如何使用queryDSL进行查询? 我尝试了JsonNode类型,但它不起作用。

  • 您好,我是DynamoDB新手,我创建了一个表,其中包含分区键“pk”和排序键“id” 在then item explorer中,我可以用pk进行查询并对键值进行排序,这似乎很有效。 在PartiQL编辑器中我做 我得到的错误过滤器表达式只能包含非主键属性:主键属性:id 我不知道如何在键条件中指定排序键,而不是使用WHERE子句指定筛选条件。