HibernateCriteriaAPIからJPA2CriteriaAPIにアップグレードしていますが、次の問題が発生していますが、解決できないようです。
Hibernate Criteriaでは、Restrictions.sqlRestrictionを使用して、特定の種類の文字列サブセットをチェックしていました。
criteria.add(Restrictions.sqlRestriction("{alias}.location_key = left((?), length({alias}.location_key))", searchObj.getLocationKey(), Hibernate.STRING));
これは基本的N
に、入力文字列の最初の文字が文字長のlocation_keyと一致することを確認しN
ます。つまり、入力文字列は、、、またはCanada,ON
のようなものと一致する必要があります。Canada
Can
C
問題は、JPA2ではそのようなネイティブSQLをコーディングできないことです。また、left
関数なしで同様のことを実現する方法がわかりません(mysql固有の可能性があると思います)。
どんな助けでも大歓迎です!