Up to version 2.2.4 Querydsl did not convert parameter values before applying them to queries at all. There's a ticket  open for Spring Data to hook into this which will be fixed for the RC.
What exactly is "so slow"? If the collection is big, findAll() will of course read all the data and convert each and every document into the the according domain object which might a) take some time and b) consume quite an amount of memory.
Thanks for your reply.
There is a testResult.html in the attachment.
In this test program.
I insert ten documents and findOne() not over 1 sec, but findAll() spends 18 secs to read.
So I feel it so slow.(I think the reason maybe due to @DBRef)