如何在hibernate标准中实现Array的匹配查询

时间:2011-06-24 05:04:44

标签: hibernate

我有这种情况

    Session session = sessionFactory.openSession();
        ArrayList<String> city;
       // in city array i have    "United States-Alabama-Anniston"
    Criteria  crit = session.createCriteria(Candidate.class);


    crit.createAlias("candidateInfo", "ci");

    crit.add(Restrictions.in("ci.city", city));
            List rsList = crit.list();

如果我在我的数据库中拥有“United States-Alabama-Anniston”的值,那么上面的内容工作正常但问题是在我的数据库中它唯一的“Anniston”

如果我的数据库中只有“Anniston”并且我想用ArrayList中的“United States-Alabama-Anniston”检查它,那么任何人都知道如何获得匹配。

谢谢

1 个答案:

答案 0 :(得分:0)

如果我从评论中理解正确,则字符串中的值可能包含国家,州和城市,以“ - ”分隔。在这种情况下,如果保证带有' - '的格式,那么最好和最有效的选择就是遍历数组并在' - '之后复制部分以分隔您可以在in子句中使用的数组。