Question

How do I implement https://stackoverflow.com/a/16392399/14731 using QueryDSL SQL?

I understand that

new SQLSubQuery().from(customer).where(customer.email.eq("foo@example.com"))

models

select customer where customer.email = 'foo@example.com'

but I don't understand how to select [literal] such as:

select 1 from customer or select 'foo@example.com', 0

as required by the aforementioned link.

Was it helpful?

Solution

If it is ok to use parameters then using constants should work

new SQLSubQuery().from(customer)
  .where(customer.email.eq("foo@example.com"))
  .list(Expressions.constant("foo@example.com"),
        Expressions.constant(0))

Expressions.constant is documented here http://www.querydsl.com/static/querydsl/3.2.3/apidocs/com/mysema/query/support/Expressions.html#constant%28T%29

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top