如何使用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 customer
或
select 'foo@example.com', 0
根据上述链接的要求。
答案 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