2

如何使用 QueryDSL SQL实现https://stackoverflow.com/a/16392399/14731 ?

我明白那个

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

楷模

选择客户,其中 customer.email = 'foo@example.com'

但我不明白如何选择 [literal],例如:

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

根据上述链接的要求。

4

1 回答 1

6

如果可以使用参数,那么使用常量应该可以

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

Expressions.constant记录在这里http://www.querydsl.com/static/querydsl/3.2.3/apidocs/com/mysema/query/support/Expressions.html#constant%28T%29

于 2013-09-09T17:14:52.503 回答