我有以下查詢哪些在MySQL中完美運行。Hibernate Query中的mysql RLIKE運算符等價於什麼?
SELECT * FROM Orders as o, Products as p where o.productinfo RLIKE p.code;
在這裏我加入兩個訂單和產品與RLIKE。
我想在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連接兩個表?
謝謝。
通過@YCF_L通過回答: 對於試圖加入兩個表與Hibernate(mysql)中的like運算符的任何人可以這樣做以下方式。
SELECT * FROM Orders as o, Products as p where o.productinfo LIKE CONCAT('%',p.code,'%');
感謝您的建議。我仍然無法解決這個問題。有沒有辦法用like來連接兩個表?這裏「p.code」是一個要連接的表中的一列,而不是一個靜態值。 – Sahal
@Sahal現在檢查我的答案,希望它能與你合作 –
謝謝你這麼多@YCF_L。你的編輯工作。 – Sahal