0

私は文字列を持っています

((effectiveDate >= "11/01/2015") and (effectiveDate < "04/30/2016")) and (not ((name like "*John*")) and (name like "*Smith*") and (age > "20"))

式に変換した後、括弧の順序が維持されていません

    Expression exp = Expression.fromString(origExpStr);
    System.out.println(exp);

これにより、

(effectiveDate >= "11/01/2015") and (effectiveDate < "04/30/2016") and not ((name like "*John*")) and (name like "*Smith*") and (age > "20")

論理的には同じ意味かもしれませんが、適切なグループ化を維持するために括弧の順序を維持したいと思います。

式に変換した後、括弧の順序を維持する方法はありますか

4

1 に答える 1

0

Cayenne Expression.toString() は、オペランドの順序を変更しない最低限有効な式を生成します。したがって、元の括弧のセットと一致する場合と一致しない場合がある独自の括弧スタイルになります。まさにあなたが観察したとおりです。

于 2016-04-14T06:33:53.193 に答える