我正在使用 JPA CriteriaBuilderMyEntity从 MySQL 数据库中选择类型的实体,如下所示:
String regExp = "(abc|def)"
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery( MyEntity.class );
root = query.from( MyEntity.class );
predicates = new ArrayList<Predicate>();
predicates.add( cb.like( root.<String>get( "name" ), regExp ) );
Run Code Online (Sandbox Code Playgroud)
因此,查询结果应包含name值与给定 regExp 匹配的任何实体。但结果列表始终为空。将 regExp 更改为/(abc|def)/g无效,添加通配符也无效%
如何使模式匹配工作?
或者:如何将本机 MySQL REGEXP 与 CriteriaBuilder 一起使用?
如果我在c ++中使用if =而不是==if条件,有没有办法让g ++产生编译错误?我已经做了几次这个错字,跟踪是很烦人的.那是:
if (x=5){ //bad - sets x equal to 5
//do something
}
Run Code Online (Sandbox Code Playgroud)