Java 同一列的多个条件

Java 同一列的多个条件,java,hibernate,Java,Hibernate,我有一列具有相同的值,但其他列不同。我想写搜索这个条件。我该怎么做?我得到了重复的条件异常 if(!StringUtils.isEmpty(src)){ criteria.createCriteria("params").add(Restrictions.eq("tagName", OptionalParams.TagName.SOURCE)).add(Restrictions.ilike("name", "Version")).add

我有一列具有相同的值,但其他列不同。我想写搜索这个条件。我该怎么做?我得到了重复的条件异常

if(!StringUtils.isEmpty(src)){                           
criteria.createCriteria("params").add(Restrictions.eq("tagName",   
OptionalParams.TagName.SOURCE)).add(Restrictions.ilike("name", "Version")).add(Restrictions.ilike("value", src,MatchMode.START));
}

if(!StringUtils.isEmpty(tgt)){
                criteria.createCriteria("params").add(Restrictions.eq("tagName", OptionalParams.TagName.TARGET))
                .add(Restrictions.ilike("name", "Version")).add(Restrictions.ilike("value", tgt,MatchMode.START));
            }

  57273 Version 0       1.2.0   9dbb
  57275 Version 1       1.2.3   9dbb
非常感谢您的帮助。

这可能会对您有所帮助

 Criteria criteria = session.createCriteria("params");
    if(!StringUtils.isEmpty(src)){                           
    criteria.add(Restrictions.eq("tagName",   
    OptionalParams.TagName.SOURCE)).add(Restrictions.ilike("name", "Version")).add(Restrictions.ilike("value", src,MatchMode.START));
    }

    if(!StringUtils.isEmpty(tgt)){
                    criteria.add(Restrictions.eq("tagName", OptionalParams.TagName.TARGET))
                    .add(Restrictions.ilike("name", "Version")).add(Restrictions.ilike("value", tgt,MatchMode.START));
                }
您得到异常是因为,您在同一对象上的同一事务中编写了两次条件。另外,
createCriteria(*.class)
应将参数作为类


有关更多详细信息,请查看

文章“您尝试了什么”!例如,你的问题中的查询更新,这里无法读取我已经更新了问题。。。请看一看