2013-07-03 69 views
0

我有一列具有相同的值,但其他列有所不同。我想寫這個條件的搜索。我該怎麼做呢 ?我得到重複標準異常。同一列的多個條件

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 

任何幫助表示讚賞。

+0

發表你有什麼試過!查詢例如 – nachokk

+0

更新在您的問題,這裏是不可琢磨的 – nachokk

+0

我已更新問題...請看看 – Yahiya

回答

1

這可能對你有所幫助。

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

+0

dint工作對我...任何更多的線索? – Yahiya

+0

你可以發佈你寫的整個代碼嗎? – PVR

相關問題