ScalaでDataNucleusタイプセーフクエリ言語でJDOを使用しています。したがって、次のようなコードがあります。
val id: Long = // something
val cand: QDbObject = QDbObject.candidate()
pm.query[DbObject].filter(cand.id.eq(id))...
簡単に言うと、これは、フィールドが。に等しいすべてのDbObject
sに対してクエリを実行します。残念ながら、次の警告が表示されます。id
id
NumericExpression[Long] and Long are unrelated: they will most likely
never compare equal
明らかに、Scalaコンパイラーは、に似たNumericExpression[Long]
の組み込み定義を使用していると考えていますが、これはJavaからのものであるため、このメソッドはScalaのメソッドとはまったく関係ありません。eq()
==
eq()
eq()
警告を取り除く方法はありますか?明らかに、これは頻繁に発生する予定であり、これらの非警告が実際の警告を隠すのではないかと心配しています。
更新(2013-06-29)
これはScala2.10.2で修正されました。警告はなくなりました。