java - 同一列的多个条件

标签 java hibernate

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

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/

相关文章:

java - SimpleAsyncTaskExecutor 不释放线程

java - Weka 错误消息 - 没有足够的带有类标签的训练实例(需要 : 1, 提供 : 0)!

java.lang.ClassCastException : org. hibernate.type.StringType 无法转换为 org.hibernate.type.VersionType

java - ORA-01460 : unimplemented or unreasonable conversion requested using Hibernate @Lob

java - 我想通过 JPA 映射 Map<Long, List<POJO>>

java - Java的LinkedList中getFirst()和peekFirst()有什么区别?

java - JIT 编译器和匿名内部类

java - Hibernate 在用户注册后在角色表中添加不必要的行

java - 连接到MS SQL Server时处理uniqueidentifier类型

java - 兴趣点/Excel : applying formulas in a "relative" way