我有一列具有相同的值,但其他列不同。我想写这个条件的搜索。我该怎么做呢 ?我收到重复条件异常。
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)
应该将参数作为类。
欲了解更多详情,请查看http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html
关于java - 同一列的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17449012/