Hibernate query for searching part of string
hibernate, hql, java, orm
Solution
I would do something like that:
findRoom(String name) {
Query query = em.createQuery("SELECT a FROM Room a"
+ "WHERE a.roomname LIKE CONCAT('%',?1,'%')");
query.setParameter(1, name);
List rooms = query.getResultList();
return rooms;
}
Problem
I'm trying to write a hibernate query to search if table Room contains roomname which contains part of string.The string value is in a variable. I wrote a query to get exact room name from the table. ``` findRoom(String name) { Query query = em.createQuery("SELECT a FROM Room a WHERE a.roomname=?1"); query.setParameter(1, name); List rooms = query.getResultList(); return rooms; } ``` In sql the query is something like this: ``` mysql_query(" SELECT * FROM `table` WHERE `column` LIKE '%"name"%' or '%"name"' or '"name"%' "); ``` I want to know the hql query for searching the table that matches my query. I can not use string directly, so the search query has to be veriable based and I need all three types in a query, if it's begin with name, or contains name or ends name.