在使用中发现在一个查询已字符串作为条件like时,例如
criteria.where().andLikeL("alias", queryObject.alias);
在执行时会默认变为 WHERE LOWER(alias) LIKE LOWER('abc%')
这个字段不是 @Name 的字段
请问如何去掉这个默认处理(这似乎导致了索引不生效)
另外请问如何建立聚合函数索引
在使用中发现在一个查询已字符串作为条件like时,例如
criteria.where().andLikeL("alias", queryObject.alias);
在执行时会默认变为 WHERE LOWER(alias) LIKE LOWER('abc%')
这个字段不是 @Name 的字段
请问如何去掉这个默认处理(这似乎导致了索引不生效)
另外请问如何建立聚合函数索引
我尝试了一下 like 也会加上 LOWER
SELECT * FROM user WHERE LOWER(alias) LIKE LOWER('%123%')
Criteria cri1 = Cnd.cri();
cri1.where().andLike("alias", "123");
List<User> list = dao.query(User.class, cri1);
这个是列定义,这列是有索引的(默认,非唯一)
@Column
@ColDefine(type = ColType.VARCHAR, width = 100)
private String alias;