像标准一样hibernate多行

Hibernate like criteria for more than one rows

嗨,我正在使用Hibernate标准从数据库中获取数据。代码如下所示。我想搜索一个包含两列的字符串。下面的代码仅检查一列,如何检查两列的条件。

1
2
3
4
5
6
7
8
    Criteria c = getSession().createCriteria(ActivatedUser.class);
                    c.createAlias("key","key");
c.createAlias("installedUser","installedUser");
                        if (searchTerm != null && !searchTerm.isEmpty()) {
    //here i want to check 2 columns for a match
                        c.add(Restrictions.like("key.keyCode", searchTerm.toUpperCase() +"%"));
                        c.add(Restrictions.like("installedUser.email", searchTerm.toUpperCase() +"%"));
                    }


您可以使用

之类的逻辑AND运算符

1
c.add(Restrictions.and(Restrictions.like("key.keyCode", searchTerm.toUpperCase() +"%"), Restrictions.like("installedUser.email", searchTerm.toUpperCase() +"%")));