gpt4 book ai didi

java - Querydsl PathBuilder 字符串参数 'variable' 的用途是什么

转载 作者:行者123 更新时间:2023-12-01 16:34:13 25 4
gpt4 key购买 nike

我正在 Spring Boot API 中使用 Querydsl 来进行一些复杂的数据过滤,当我声明 PathBuilder 变量时,我发现首先您必须静态传递您的类,例如 YourClass.class,然后是构造函数的字符串变量,如下所示:

    PathBuilder<Plan> entityPath = new PathBuilder<>(Plan.class, "plan");

所以我想知道为什么这个字符串参数是必要的,以及为什么它的名称必须与我的类名相同,因为当我删除它或修改它时,entityPath不起作用.

最佳答案

PathExpression(其中PathBuilder)根据定义表示一个路径变量。在您的情况下,查询中结束的路径将是plan。接下来,您可以在此路径的基础上进行构建并创建各种路径类型。例如属性检索:entityPath.get("someProperty") 将返回表示 plan.somePropety 的路径表达式。因此,您无法在没有别名的情况下创建 PathExpressions,因为它本质上毫无意义。

那么为什么这个别名并不总是从 Path 类型推断出来,简单地说:因为它不相关。使用的底层实体可能有不同的命名策略,您可能想要混合相同类型的不同路径变量,您可能引用一个本身具有特定别名的节点。

别名不必等于简单类名,它必须等于它从查询中的任何 from/join 子句引用的别名。

关于java - Querydsl PathBuilder 字符串参数 'variable' 的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61994243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com