【发布时间】:2014-12-04 16:03:17
【问题描述】:
我想创建条件或对现有条件添加限制(我认为它必须是条件),在搜索数据时将忽略“-”。
例如,我正在搜索数字“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 上使用的那个,只填充数据)将保存“转换”值,并且在过滤 number 时我将过滤这个字段
【问题讨论】:
-
这似乎效率不高。可能是从数字列中计算出来的虚拟列,它删除了非数字 + 索引。
-
你是对的,但不幸的是我必须努力做到这一点
标签: java hibernate hibernate-criteria