私はdroolsを初めて使っていて、APIのドキュメントを検索しようとしましたが、比較キーワード 'LIKE'について何も見つかりませんでした。私は<、>、< =、> =、==、!=でルールを作成しましたが、今は 'LIKE'キーワードを使ってルールを作成しようとしています。私は先輩から、SQLのようなキーワードのように動作するはずだと言われました。以下は、DRLファイルからの私のルールはあるが、私はDroolsの5.6.0DROOL 'LIKE'条件 - それは存在するのですか?
**From DRL File:**
rule "5495Y"
agenda-group "1"
date-effective "04-Sep-2017"
when
JournalEntry : JournalEntry((ledgerCd=="COMN") && accountNumber LIKE 1234
&& entryTypeCode == "Y");
DroolsUtil : DroolsUtil();
then
JournalEntry.addConsequence("rejectReason","kk like test");
JournalEntry.addConsequence("sendToLedger","N");
DroolsUtil.reclassEntry(JournalEntry,"NOCHG", "5495Y");
end
**Exact Error I am getting:**
[38583,71]: [ERR 102] Line 38583:71 mismatched input 'LIKE' in rule "5495R"
[38596,71]: [ERR 102] Line 38596:71 mismatched input 'LIKE' in rule "5495Y"
[0,0]: Parser returned a null Package
11:09:17,118 ERROR main ReclassAccountingRuleJob:132 - java.lang.Exception: Know
ledgeBuilder has errors. DRL File parsing error
java.lang.Exception: KnowledgeBuilder has errors. DRL File parsing error
あなたは何をすると思いますか? 「1234が好き」はどういう意味ですか? - SQLの "like"はパターンマッチングを行い、Droolsマニュアルはパターンマッチングのための "matches"演算子があることを伝えます。 – laune
は「like 1234 *」または「like 1234%」と表示されます。これは1234で始まるものを意味します。正しい構文については確信しています。 –