Hibernate:我如何编写'或'条件?

时间:2013-11-17 12:01:09

标签: java hibernate

我试图在where子句中的两个where条件之间创建'或'条件,但生成的sql有'and'而不是'或'。

代码

    if (pat.getFirstName() != null) 
        criteria.add(Restrictions.like("firstName", pat.getFirstName()));
    if (pat.getLastName() != null) 
        criteria.add(Restrictions.or(Restrictions.like("lastName", pat.getLastName())));

生成where子句

...... this_.FIRST_NAME喜欢哪里?和(this_.LAST_NAME喜欢?)

我在这里想念的是什么?

1 个答案:

答案 0 :(得分:0)

以下对代码的更改有效。这是对hibernate API使用的误解。

criteria.add(Restrictions.or(Restrictions.like(“firstName”,pat.getFirstName()),Restrictions.like(“lastName”,pat.getLastName())));