【发布时间】:2012-04-13 00:21:37
【问题描述】:
鉴于以下情况:
CriteriaQuery<SomeDTO> cQuery;
CriteriaBuilder cb;
Root<SomeClass> r;
...
cQuery.select(cb.construct(SomeDTO.class,
"FIXED VALUE",
r.get(SomeClass_.someValue)
));
有没有办法在 JPA 标准 api 和静态元模型中创建一个选择,它为一列返回一个固定值? 相应的 SQL 应该类似于
SELECT 'FIXED VALUE', someValue FROM someClassTable WHERE ...;
提前致谢!
【问题讨论】:
-
您是指“FIXED VALUE”是指固定长度的列还是在执行选择查询时应该返回的某个常量
-
后者,一个固定值(例如某个字符串),应该为所有找到的行返回。
-
好的,我想当我写对你评论的回复时,我自己找到了答案:“字面上”这个词突然出现在我的脑海中,并在标准构建器中寻找它实际上为我提供了CriteriaBuilder.literal()!这就是我一直在寻找的!无论如何,@NayanWadekar,如果您将其写为答案,我将授予您“正确答案”标记,因为您的问题为我提供了缺失的信息!
-
我刚刚添加了评论以获取更多信息,因为它有点令人困惑。既然你已经解决了,你总是可以回答你自己的问题,但我认为这样做有一些强制延迟,不确定。
标签: java hibernate jpa criteria-api metamodel