2017-02-24 9 views
0

JOOQを使用しているとき、dsl.select()と.and()を使用しているときに、 "この型のメソッドと(ブール型)警告。 jooqを使ったIam 3.8.3。 誰も私にこれについて簡単に説明できますか?同等のJOOQ:Condition型のメソッドと(ブール値)型は廃止されました

.where(AePlan.AE_PLAN.PLAN_ID**.equals**(planId) 
.and(AePlan.AE_PLAN.PHARMACYNETWORK_ID.**equals**(pharmacyNW_Id)) 

使用は私のために働いているよう

+0

[this](https://www.jooq.org/notes)のページ –

答えて

1

私はそれを得た、私は、equalsメソッドの代わりに等しいを使用していました!

1

この方法(および他の多くの同様の方法)は、経験した理由のために正確にdocumented yourself in your own answerの問題#4763でjOOQ 3.8で廃止されました。

多くの人が誤って、彼らは彼らが本当にboolean定数を生成して、有効なjOOQ Conditionを、生産していることを信じて、Object.equals()方法ではなく、(例えばので、不慮のIDEの自動補完の)Field.equal()方法を使用していました。

Condition.and(Boolean)「便利な方法」がない場合は、単にコンパイルエラーが発生し、間違いが修正されたはずです。しかし、Condition.and(Boolean)メソッドでは、コードはコンパイルされて正常に実行されますが、クエリは意図したとおりの動作をしません。

このように、この混乱した結果をもたらした「利便性の高い方法」は再び推奨されなくなりました。

サイドノートでは、代わりにField.eq()のような2文字の短縮形を使用することで、この問題を回避できます。

+0

にお答えいただいているかもしれませんねえ、ありがとうございます。ルーカス...本当にありがとうございました!そしてはい、それは単にIDEの自動修正のためです。 – Shantanu

関連する問題