创建忽略特定字符的条件

时间:2014-12-04 16:03:18

标签: java hibernate hibernate-criteria

我想创建标准或对现有标准添加限制(我认为必须是标准),忽略" - "在搜索数据时

例如,我正在寻找号码" 888"我想得到" 8-8-8"太

我有包含我的号码字段的bean

A.java

@Data
public class A {
    [...]
    @Length(max = 16)
    @Column(length = 16)
    private String number; 
}

这是我的标准

    public Pair<Long, List<A>> filter(CompoundFilter filter, CompoundSort sort, int start, int count) {
        Criteria criteria = getSession().createCriteria(A.class, "a_alias");
...
}

我应该为标准添加什么来实现我的目标?

我的另一个想法是创建一些隐藏的字段(通过隐藏我意味着我不会在UI上使用的那个,只填充数据)将保持&#34;转换&#34;值和过滤number时我会过滤此字段

1 个答案:

答案 0 :(得分:0)

尝试使用regex,模式看起来像"[0-9]-[0-9]- ... [0-9]",而不是0-9用您想要的数字构建模式。如果我理解你的问题,那么这可能是一个答案。