如何在JPQL中使用Strings和德语变音符号进行排序?

时间:2012-09-03 14:43:55

标签: java jpa jpql

使用java代码,可以使用以下内容正确地对德语变音符号进行排序:

Collections.sort(list, new Comparator<String>() {
    Comparator umlautCollator = Collator.getInstance(Locale.GERMAN);
    public int compare(String o1, String o2) {
        return umlautCollator.compare(o1, o2);
    }
});

我想在我的JPQL语句中执行此类命令,而不使用后续的sort。有可能吗?

1 个答案:

答案 0 :(得分:0)

您需要确保您的数据库支持您正在使用的字符集的Unicode排序规则,例如UTF-8。 Java默认使用Unicode,这就是比较器类的工作原理。

据推测你的数据库没有 - 你可能正在使用US-ASCII,对吗?

重新创建数据库并转换数据是最难的答案。