我应该如何在Hibernate Query中使用COLLATE

时间:2012-10-31 14:41:45

标签: java sql hibernate collate

我试图在Hibernate SQL查询中使用COLLATE语句,但它无法识别该语句。

CONSULTA: FROM Articulos WHERE activo=0 
              and (codigodearticulo like '%CIN EMB%' COLLATE='Modern_Spanish_CI_AI'
              or descripcion like '%CIN EMB%' COLLATE='Modern_Spanish_CI_AI'  
              or descripcionadicional like '%CIN EMB%' COLLATE='Modern_Spanish_CI_AI' )
              and codigodelinea in
              (select CODIGODELINEA from Lineas where CATAUTOPARTES='1')

当app编译时,Hibernate会返回此异常:

- line 1:107: unexpected token: COLLATE
- line 1:107: unexpected token: COLLATE
- line 1:107: unexpected token: COLLATE
- Error hibernate: unexpected token: COLLATE near line 1, column 107

我找不到问题,在MSSQL Server中它工作正常。

1 个答案:

答案 0 :(得分:1)

不幸的是,HQL并不是SQL的完全替代品,似乎根本不允许指定Collat​​ion。

可以在Criteria查询中指定。见this answer