2016-02-05 83 views

回答

0

的jOOQ手冊的有關CASE表達部分將幫助您:

http://www.jooq.org/doc/latest/manual/sql-building/column-expressions/case-expressions

從本質上講,你應該建立表達式將是這樣的:

Field<Integer> field2 = 
DSL.when(TABLE.FIELD1.ge(0.5), 2) 
    .when(TABLE.FIELD1.ge(0.2), 1) 
    .otherwise(0); 

當然,jOOQ是不是基於註釋的API,因此您不能使用註釋來自動在目標實體上生成該值。就像在SQL中一樣,您將在所有相關查詢中使用上述field2表達式,例如,

DSL.using(configuration) 
    .select(TABLE.ID, TABLE.FIELD1, field2) 
    .from(TABLE) 
    .fetch(); 
+0

工作正常,但DSL和DSLcontext有什麼區別? –

+0

「DSL」包含靜態DSL方法,而「DSLContext」包含「配置」環境中的DSL方法。 [更多信息](http://www.jooq.org/doc/latest/manual/sql-building/dsl-context/) –