使用具有多个条件和列的LIKE

时间:2014-01-21 21:13:25

标签: java hibernate hql multiple-columns hql-like

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

就像这个但不仅仅是名字字段一样,我们可以举出名称和地址dateOfInscription

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

2 个答案:

答案 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);