OpenIDM+MySQLで使う場合に注意

OpenIDMは内部リポジトリをデフォルトのOrientDBからMySQLに変更できますが(というかプロダクション環境だとMySQLが推奨)、付属しているJDBC用の設定を使うとうまく動かないところがあります。

具体的には、repo.jdbc.json で定義されている "get-by-field-value" というクエリーなのですが、

WHERE prop.propkey='/' + ${field}

のように、文字列を+で連結しちゃっています。MySQL的にはこれはNG。(参考:「文字列連結」のつもりでうっかり + を使うな!!)

正しくは、下記のようにCONCAT関数を使う必要がある。

WHERE prop.propkey=CONCAT('/', ${field})

JIRA:OPENIDM-1281で報告したところ、すぐに対応してもらえたようです。Nightly版だと直っているかもしれません。