问题标签 [query-by-example]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

java - 使用@RequestParams时,Spring Boot中的Query by Example可以用来替代条件逻辑吗?

我有以下代码用于 Spring Boot 应用程序:

实体:

控制器:

服务:

存储库:

显然,服务层有很多条件逻辑来覆盖传递参数的多种组合。虽然它实现了我的目标,即考虑通过的任何查询(即http://localhost:8080/vehicles?make=&model=&year=&type=),但我想弄清楚是否有一种方法可以重构代码以使其更高效。Spring 的示例查询是否足以解决此问题,还是有更好的方法?(或者这段代码是否和我能做到的一样好?)

0 投票
1 回答
420 浏览

java - ExampleMatcher 配置用于查找具有空值的多个字段

尝试使用 ExampleMatcher 查询查找多个字段。在下面的课程中,我们有 4 个字段:

}

例如,现在我想使用名称和电子邮件字段进行搜索,而其他字段请求为空。结果应该是包含姓名和电子邮件请求的联系人列表。我的搜索请求获得未知数量的字段。

此配置仅用于电话号码返回 true 结果,其他字段返回 null。

0 投票
1 回答
644 浏览

java - 在 Spring Data 中拦截存储库方法调用,动态优化查询

假设我有一些接口扩展CRUDRepositor. 里面有类似的方法findByField。其中一些方法应该只返回属于用户有权访问的一组实体的实体(这group是数据库中的一个列,因此它是为大多数实体定义的字段)。我想通过允许在存储库方法上使用注释(如@Protected)来实现这一点,然后在调用这些方法而不是在后台调用findByField方法时。findByFieldAndGroup通过使用 AOP(拦截使用我的 @Protected 标记注释的方法),可以在方法有效执行之前分配组。

有没有办法做到这一点?在最坏的情况下,我要么手动添加所有方法,要么完全切换到通过示例方法查询(您可以更轻松地动态添加组)或使用 ASM 生成带有 Java 代理的方法(操作字节码)......但是这些是不太实用的方法,需要大量的重构。

编辑:发现这些相关问题Spring data jpa - 在执行之前修改查询 Spring Data JPA 和 spring-security:在数据库级别过滤(尤其是用于分页) 其他相关参考包括GitHub 上的这张票(没有进展,只有一种解决方案QueryDSL 排除了使用基于方法名称的查询)和这个线程

0 投票
1 回答
116 浏览

json - 如何在 jq 中引用对象上的动态键?

我正在尝试定义一些自定义过滤器函数,我需要做的一件事是将字符串列表传递给过滤器并获取输入对象的相应值。例如:

jq -n '{name: "Chris", age: 25, city: "Chicago"} | myFilter(["name", "age"])'

应该返回:

{"name": "Chris", "age": 25}.

我知道我可以.[some_string]用来动态获取对象上特定字符串键的值,但我不知道如何将其用于多个字符串键。我认为我遇到的问题是 jq 默认情况下迭代流入过滤器的对象,但没有提供迭代该过滤器参数的方法,即使我使用def myFilter($var)手册推荐的语法值-论证行为

0 投票
1 回答
197 浏览

java - 如何在嵌套字段未完全填充的情况下使用示例匹配器

我有以下结构:

然后我保存具有以下值的文档:

当我创建一个填充 B 中的两个值的示例时,我得到一个匹配项,当我只填充 A.value1 和 B.value1 时,我没有得到一个匹配项。如何使嵌套字段中的匹配项为空值?

搜索:

不匹配,因为某些 B 字段未填写。

搜索:

匹配所有字段。

0 投票
1 回答
98 浏览

java - 如何在 Spring Data JDBC 中使用 Query by Example 替换?

在我看来,我使用 Json Data 向控制器发送异步请求,如下所示:

但数据可能不同。而且我有具有相同字段的订单实体,所以我可以将它从 Json 转换为 POJO

之后使用 JPA,我可以执行以下操作:

但是我用的spring-data-jdbc不支持,有什么可以代替的?

0 投票
1 回答
25 浏览

python - Django 查询集更简单

有没有办法结合这两行代码?

结果来自:

我喜欢看到这样的东西:

0 投票
0 回答
12 浏览

hibernate - hibernate Query By Example 在 v 6.0.0 中消失

我过去使用休眠 QBE 作为:

此代码正常编译,直到 Hibernate 核心版本 5.6

但是如果我使用 6.0.0 版本,代码不会编译,它会接缝 Example,Criterion 类被删除!

一些想法?我需要使用 QBE 设施!

谢谢

0 投票
0 回答
23 浏览

mongodb - Spring Data Mongo ExampleMatcher 通过 AND 和 OR 组合获取可分页结果

具有以下字段的用户的 MongoDB 集合。

使用 findAll(Example s, Pageable pageable) repo 方法根据以下条件从该集合中搜索。

试图复制一些类似的东西,

请提示完成此操作的正确方法。如果我可以完成任何其他方式,请提示。

0 投票
0 回答
16 浏览

java - ExampleMatcher to filet data from database using Java

I have a database of templates :

Fields : Name, Identifier, Type, Version

Now, I have a filter query, wherein from the UI, I would get values of Type and Version.

Now, I have to get those templates from the DB that matches the values given from the UI.

How Can I do it using ExampleMatcher

Trials :

When I use ExampleMatcher.matching(), It fetches all the templates that have the type OR version values that matches those given by UI. But, I want those templates that have the type AND version values that matches those given by UI. Note the use of OR and AND in the above scenario.

When I use ExampleMatcher.matchingAll(), It doesn't fetch any template as the values given for Name and Identifier is null from UI and those values are not there in any of the template.

How can I implement Filtering here?