3

OracleストアドプロシージャをJavaコードに書き直し、クエリ文字列で連結された値を持つデータを選択して、次の方法で比較したいと思います:

 Query qString = 
                        "SELECT Obj " +
                        "FROM MyTable Obj2 WHERE ( Obj2.value1 || Obj2.value2 ) in " +
                        "(SELECT Obj2.value1 || MAX(Obj2.value2) FROM MyTable Obj2 WHERE Obj2.value2 >= :param GROUP BY Obj2.value1) " +
                        "ORDER BY Obj.value2, Obj.value1";

                        query = entityManager.createQuery(qString);
                        query.setParameter("param ", param );

Weblogic サーバーで Web サービスとしてクエリを実行すると、'|' でエラーが発生しました。キャラクター。|| の代わりに何を使用できますか? 演算子を使用して同じ結果が得られますか?

4

1 に答える 1

3

Java Persistence Query Language はCONCATObj2.value1 || Obj2.value2 () 関数を提供するため、次のよう に記述できるはずです。 CONCAT(Obj2.value1, Obj2.value2)

于 2013-10-31T09:54:37.113 に答える