0
CBの新機能、ネイティブクエリの代わりに使用しようとしています。その理由は、状況によって異なるグループ分けが必要になるからです。 は、ここに私は再現するために必要なものです:クライテリアビルダ文字列ベース - 式引用符をダブルとして使用 - JPA
(1 - sum(field_1 [integer])::real/sum (field_2 [integer])::real ) * 100
はここでそれをすると仮定したコードです:
Expression<Double> filed1Sum = cb.sumAsDouble(report.<Float>get("field1"));
Expression<Double> filed2Sum = cb.sumAsDouble(report.<Float>get("field2"));
Expression<Double> expected = cb.toDouble(cb.<Float>quot(filed1Sum, filed2Sum));
問題がある:期待値は限り来ています!フィールド1はフィールド2よりも小さいので、私は0(ゼロ)を持っています。私はそのような何か0.888を得るのだろうかと思っています。
あなたはタイトルに基づいて_stringに基づいていますか? 'field1'と' field2'はjavaフィールドの数値ですか? – perissf
1 - Metamodelベースのget(_ Class)とは対照的に、-Stringベースのget( "String")。 –
2 - もちろんではありません。それらはJavaのINTEGERデータベースフィールドではありません –