如何在Hibernate查询中解决阿拉伯数值问题

时间:2019-03-23 20:46:04

标签: java hibernate spring-mvc

当我在HQL查询中使用阿拉伯语值时,它返回null。

我在MySQL数据源中添加了unicode和UTF。

我从Hibernate查询中生成了SQL,并在工作台中运行它,结果是:

Query q = se.createQuery("from Days where d_name = 'الخميس' " );

我在工作台上运行生成的SQL查询,它给了我结果。我也尝试使用d_id进行查询,并且运行时没有问题,因此我认为问题出在阿拉伯值上。

我希望结果会作为对象返回, 但它返回空值!

1 个答案:

答案 0 :(得分:0)

尽管在阿拉伯值之前添加N可能会解决您的问题,但是在所有值前加上N前缀可能会导致可怕的性能问题-通常,这将导致查询导致全表扫描而不是索引查找。

您可以按照建议的here

使用utf-8来找到一种方法。