我有以下查询哪些在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