mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-13 21:01:01 +08:00
#771285 : fixed distinct serialization
This commit is contained in:
parent
db76950bec
commit
46aa72c873
@ -71,11 +71,11 @@ public final class JDOQLSerializer extends SerializerBase<JDOQLSerializer> {
|
||||
}
|
||||
};
|
||||
|
||||
private Expression<?> candidatePath;
|
||||
private final Expression<?> candidatePath;
|
||||
|
||||
private List<Object> constants = new ArrayList<Object>();
|
||||
private final List<Object> constants = new ArrayList<Object>();
|
||||
|
||||
private Stack<Map<Object,String>> constantToLabel = new Stack<Map<Object,String>>();
|
||||
private final Stack<Map<Object,String>> constantToLabel = new Stack<Map<Object,String>>();
|
||||
|
||||
public JDOQLSerializer(JDOQLTemplates templates, Expression<?> candidate) {
|
||||
super(templates);
|
||||
@ -91,6 +91,7 @@ public final class JDOQLSerializer extends SerializerBase<JDOQLSerializer> {
|
||||
return constants;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Object,String> getConstantToLabel() {
|
||||
return constantToLabel.peek();
|
||||
}
|
||||
@ -157,7 +158,7 @@ public final class JDOQLSerializer extends SerializerBase<JDOQLSerializer> {
|
||||
}else{
|
||||
append(SELECT);
|
||||
}
|
||||
if (select.size() >1 || !select.get(0).equals(source)){
|
||||
if (select.size() >1 || !select.get(0).equals(source) || metadata.isDistinct()){
|
||||
handle(COMMA, select);
|
||||
}else{
|
||||
skippedSelect = true;
|
||||
|
||||
@ -70,6 +70,16 @@ public class BasicsTest extends AbstractJDOTest {
|
||||
assertEquals("count", 2, query().from(product).count());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void List_Distinct(){
|
||||
query().from(product).listDistinct(product);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void List_Distinct_Two_Sources(){
|
||||
query().from(product, product2).listDistinct(product, product2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void Single_Result(){
|
||||
query().from(product).singleResult(product);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user