我正在尝试使用LIKE
使用HQL,但我想使用多列
就像这个但不仅仅是名字字段一样,我们可以举出名称和地址dateOfInscription
String query = "from user u where u.name like :name"
getHibernateTemplate().findByNamedParam(query, "name", '%' + str + '%');
答案 0 :(得分:0)
我猜你正在做“搜索”功能,并希望根据用户输入搜索多个列。以下应该有效。
String query = "from user u where u.name like :name OR u.address like :address OR u.dateOfInscription like :dateOfInscription"
getHibernateTemplate().findByNamedParam(query, "name", '%' + str + '%', "address", '%' + str + '%', "dateOfInscription", '%' + str + '%');
答案 1 :(得分:0)
我是这样做的:
String query = ""
+ "from User where "
+ "u.firstName like '%" + firstName+ "%' ";
if (!"".equals(lastName)) {
query += "and u.lastName like '%" + lastName + "%' ";
}
if (!"".equals(bDate)) {
query += "and u.bDate like '%" + bDate + "%'";
}
List<User> resultList = null;
resultList = hibernateTemplate.find(query);