QueryDSL:如何选择文字作为SQLSubQuery的一部分?

时间:2013-09-09 04:03:43

标签: querydsl

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

我理解

  

new SQLSubQuery()。from(customer).where(customer.email.eq(“foo@example.com”))

模型

  

选择customer.email ='foo@example.com'

的客户

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

select 1 from customerselect 'foo@example.com', 0

根据上述链接的要求。

1 个答案:

答案 0 :(得分:5)

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

new SQLSubQuery().from(customer)
  .where(customer.email.eq("foo@example.com"))
  .list(Expressions.constant("foo@example.com"),
        Expressions.constant(0))
这里记录了{p> Expressions.constant http://www.querydsl.com/static/querydsl/3.2.3/apidocs/com/mysema/query/support/Expressions.html#constant%28T%29