私はmysqlで完全に動作する次のクエリを持っています。Hibernate Queryのmysql RLIKE演算子に相当するものは何ですか?
SELECT * FROM Orders as o, Products as p where o.productinfo RLIKE p.code;
ここでは、RLIKEを使用して2つのテーブルオーダーと製品を結合しています。
私は同じことをHibernateで実装しようとしています。
Query query = session.createQuery("FROM Orders as o, Products as p where o.productinfo RLIKE p.code");
List<Object[]> results = query.getResultList();
私はRLIKEを使用すると、以下のエラーが実行時にスローされます。
{"errormessage":"org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: RLIKE
LIKEクエリで同じことを実装しようとしましたが、これを '%p.code%'と一致させました。
Query query = session.createQuery("FROM Orders as o, Products as p where o.productinfo LIKE '%p.code%'");
しかし、値ではなく文字列 "p.code"と一致します。
HQLのRLIKEに相当するものは何ですか? HQLにLIKEを使用して2つのテーブルを結合する別の方法はありますか?
ありがとうございました。
@YCF_L: Hibernate(mysql)のような演算子を使って2つのテーブルを結合しようとする人は、次のようにすることができます。
SELECT * FROM Orders as o, Products as p where o.productinfo LIKE CONCAT('%',p.code,'%');
ありがとうございます。私はまだ問題を解決することができませんでした。同じように2つのテーブルを結合する方法はありますか?ここで「p.code」は、静的な値ではなく、結合されるテーブルの列です。 – Sahal
@ Saahalは私の答えを今すぐチェックしてください、あなたと一緒に働くことを願っています –
ありがとう@YCF_L。あなたの編集はうまくいった。 – Sahal