Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠-意外标记:较低_Java_Sql_Postgresql_Hibernate_Hibernate Criteria - Fatal编程技术网

Java 休眠-意外标记:较低

Java 休眠-意外标记:较低,java,sql,postgresql,hibernate,hibernate-criteria,Java,Sql,Postgresql,Hibernate,Hibernate Criteria,我必须使用不区分大小写的获取数据库(PostgreSQL)中的所有寄存器。我尝试过使用criteria,但是ignoreCase()对我不起作用(我使用的是Hibernate 3.6) 我也尝试过使用ilike方法,但仍然不起作用 criteria.add(Restrictions.ilike(TABLECODEID, tableCodeID)); 这个版本也是: criteria.add(Restrictions.ilike(TABLECODEID, tableCodeID, MatchMo

我必须使用不区分大小写的获取数据库(PostgreSQL)中的所有寄存器。我尝试过使用criteria,但是ignoreCase()对我不起作用(我使用的是Hibernate 3.6)

我也尝试过使用ilike方法,但仍然不起作用

criteria.add(Restrictions.ilike(TABLECODEID, tableCodeID));
这个版本也是:

criteria.add(Restrictions.ilike(TABLECODEID, tableCodeID, MatchMode.ANYWHERE));
现在,当我尝试在Hibernate中使用HQL创建查询时,我遇到了这个错误:

unexpected token: lower near line 1, column 81
我的代码如下所示:

StringBuffer queryString = new StringBuffer()
                    .append("from ListItem li ")
                    .append("where lower(li.tableCodeId) like :tableCodeId");

Query query = session.createQuery(queryString.toString());
query.setParameter("tableCodeId", tableCodeID.toLowerCase());

List<ListItem> listItemListAux = query.list();
StringBuffer queryString=new StringBuffer()
.append(“来自列表项li”)
.append(“其中较低(li.tableCodeId)类似于:tableCodeId”);
Query=session.createQuery(queryString.toString());
setParameter(“tableCodeId”,tableCodeId.toLowerCase());
List listItemListAux=query.List();

我做错了什么?

你应该用这种方法来解决
匹配模式。任何地方
都可以解决这个问题:

criteria.add(Restrictions.ilike(TABLECODEID, tableCodeID, MatchMode.ANYWHERE));

最后我使用了HQL,问题是我在lower(li.tableCodeId)函数中攻击实体,我不得不使用DB列名lower(tableCodeId)

我现在已经尝试过了,并且保持不变。。。谢谢你抽出时间。
criteria.add(Restrictions.ilike(TABLECODEID, tableCodeID, MatchMode.ANYWHERE));