QueryDsl - 集合表达式中的dinamic子查询

时间:2016-02-29 18:48:22

标签: collections expression querydsl

我正在寻找下面描述的使用spring数据JPA和查询DSL的方案的想法。 我想翻译以下声明

select * from document doc1
where doc1.name = <name> and doc1.date in (
 (select max(doc2.date) from document doc2 where doc2.type = <type2>) ,
 (select max(doc3.date) from document doc3 where doc3.type = <type3>) )

进入查询DSL。 “name”和“type1”..“typen”作为params传递。如您所见,查询应获取特定类型文档的最大值(日期)。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

以下内容应该有效

var app = require('express')();
var versionRoutes = require('express-routes-versioning')();
app.listen(3000);
app.use(function(req, res, next) {
    //req.version is used to determine the version
   req.version = req.headers['accept-version'];
   next();
});
app.get('/users', versionRoutes({
   "1.0.0": respondV1,
   "~2.2.1": respondV2
}));

// curl -s -H 'accept-version: 1.0.0' localhost:3000/users
// version 1.0.0 or 1.0 or 1 !
function respondV1(req, res, next) {
   res.status(200).send('ok v1');
}

//curl -s -H 'accept-version: 2.2.0' localhost:3000/users
//Anything from 2.2.0 to 2.2.9
function respondV2(req, res, next) {
   res.status(200).send('ok v2');
}