mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-13 21:01:01 +08:00
Fix FactoryExpressionTransformer
This commit is contained in:
parent
2a162fa13e
commit
ca2e05d8c4
@ -43,11 +43,6 @@ public final class FactoryExpressionTransformer implements ResultTransformer {
|
||||
|
||||
@Override
|
||||
public Object transformTuple(Object[] tuple, String[] aliases) {
|
||||
if (projection.getArgs().size() < tuple.length) {
|
||||
Object[] shortened = new Object[projection.getArgs().size()];
|
||||
System.arraycopy(tuple, 0, shortened, 0, shortened.length);
|
||||
tuple = shortened;
|
||||
}
|
||||
return projection.newInstance(tuple);
|
||||
}
|
||||
|
||||
|
||||
@ -739,10 +739,11 @@ public abstract class AbstractJPATest {
|
||||
public void FactoryExpressions() {
|
||||
QCat cat = QCat.cat;
|
||||
QCat cat2 = new QCat("cat2");
|
||||
JPQLQuery<Tuple> query = query().from(cat).leftJoin(cat.kittens, cat2)
|
||||
.select(Projections.tuple(cat.id, cat.name,
|
||||
Projections.tuple(cat2.id, cat2.name,
|
||||
Projections.tuple(cat2.birthdate).skipNulls()).skipNulls()));
|
||||
QCat kitten = new QCat("kitten");
|
||||
JPQLQuery<Tuple> query = query().from(cat)
|
||||
.leftJoin(cat.mate, cat2)
|
||||
.leftJoin(cat2.kittens, kitten)
|
||||
.select(Projections.tuple(cat.id, new QFamily(cat, cat2, kitten).skipNulls()));
|
||||
assertEquals(6, query.fetch().size());
|
||||
assertNotNull(query.limit(1).fetchOne());
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user