小编use*_*119的帖子

QueryDSL - 一对多关系的 DTO 投影

我正在考虑使用 DTO 投影 - 我有两个具有一对多关系的实体(EntityOne 的一个实例链接到 EntityTwo 的多个实例),并且我想将结果作为新的 DTO 对象返回 - 我的内容我目前正在尝试的是这样的:

query.select(Projections.constructor(MyDtoObject.class,
            entityOne, list(entityTwo)))
        .from(entityOne, entityTwo)
        .where(......)
Run Code Online (Sandbox Code Playgroud)

MyDtoObject 看起来像这样:

public class MyDtoObject {

    private EntityOne entityOne;
    private Collection<EntityTwo> entityTwoCollection 

   // getters, setters and an all args constructor method here

}
Run Code Online (Sandbox Code Playgroud)

然而,这会带回比预期多得多的 MyDtoObjects,而且看起来每个 MyDtoObjects 只保存一个entityTwo 对象而不是一个集合。

如何指示 queryDSL 创建具有多个entityTwo 条目的 MyDtoObjects 结果对象?list(..) 方法在我上面的场景中是否执行任何操作?

java dsl jpa dto querydsl

5
推荐指数
1
解决办法
6141
查看次数

Javascript - 将匿名函数传递给 Promise.all

我正在尝试使用 Axios 的 Promise.all 方法同时进行多个 API 调用,基于以下示例:

getUsers() { 
    return axios.get('/users');
}

getSessions() { 
    return axios.get('/sessions');
}

Promise.all([getUsers(), getSessions()])
    .then(results => {
      // Use the data
    })
    .catch(error => {
      // Catch the error
    });
Run Code Online (Sandbox Code Playgroud)

但是,由于我只知道在此阶段需要根据承诺链中先前 API 调用的结果进行哪些并发 API 调用,因此我尝试将匿名函数数组传递给表单中的函数的:

var array = [];
array.push(() => {return axios.get('/users')}); 
array.push(() => {return axios.get('/sessions')});

Promise.all(array).then....
Run Code Online (Sandbox Code Playgroud)

这是行不通的,我知道这是因为我传入的是函数对象,而不是像方法所期望的那样引用实际的 Promise 对象。但是,仅将 axios.get(...) 方法推送到数组会导致它们立即被调用,而不是稍后执行 Promise.all 方法时调用。

我不确定如何正确地做到这一点,或者是否有更好的方法来实现我所追求的......

javascript arrays promise es6-promise axios

4
推荐指数
2
解决办法
1208
查看次数

Couchbase Java SDK:包含文档ID的N1QL查询

我希望使用Java客户端SDK在我的Couchbase数据库上执行查询,该客户端SDK将返回包含每个结果的文档ID的结果列表.目前我正在使用:

Statement stat = select("*").from(i("myBucket"))
                 .where(x(fieldIwantToGet).eq(s(valueIwantToGet)));

N1qlQueryResult result = bucket.query(stat);
Run Code Online (Sandbox Code Playgroud)

但是,N1qlQueryResult似乎只返回没有任何关联元数据的JsonObjects列表.看看文档,似乎我想要一个返回Document对象列表的方法,但是我看不到任何我称之为执行工作的存储桶方法.

有人知道这样做的方法吗?

java couchbase sql++

4
推荐指数
1
解决办法
355
查看次数

标签 统计

java ×2

arrays ×1

axios ×1

couchbase ×1

dsl ×1

dto ×1

es6-promise ×1

javascript ×1

jpa ×1

promise ×1

querydsl ×1

sql++ ×1