0

我正在尝试使用 HQL LIKE,但我想使用多个列

像这个但不仅仅是名称字段,让我们以姓名和地址为例dateOfInscription

String query = "from user u where u.name like :name"
getHibernateTemplate().findByNamedParam(query, "name", '%' + str + '%');
4

2 回答 2

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 + '%');
于 2014-01-21T21:24:21.787 回答
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);
于 2014-01-26T05:38:43.310 回答