【问题标题】:JPA Multilingual sortingJPA 多语言排序
【发布时间】:2014-09-09 19:36:49
【问题描述】:

最近我正在做一个双语项目,对于一些参考表,我需要对数据进行排序。但是因为它是双语的,所以数据来自不同的语言(在我的例子中是英语和法语),我喜欢将它们全部排序在一起,例如,Île 排在 Inlet 之前。

普通Order By 会将Île 放在列表末尾。我终于想出了使用nativeQuery并使用数据库引擎的功能对数据进行排序(在oracle中是关于使用NLS_SORT

但是我对数据库引擎和版本很紧张,例如,如果我将数据库更改为postgres,那么应用程序就会中断。我正在寻找本机 JPA 解决方案(如果存在)或任何其他解决方案。

【问题讨论】:

    标签: java oracle sorting jpa


    【解决方案1】:

    要存档这个,不使用原生查询 JPA 定义,我只能看到两种方法:

    1. 创建一个包含基于 DB 函数的转义/翻译列的 DB 视图。因此,DB 差异将出现在create view 语句中。您可以为原始实体定义 OneToOne 关系属性。
    2. 创建额外的列来存储 转义 值并按它排序。应用程序可以在使用 JPA 实体侦听器 或在持久/合并方法中将数据存储到数据库之前执行 转义/翻译

    祝你好运!

    【讨论】:

    • 喜欢这个主意。但我仍在寻找更多 JPA-ish 解决方案
    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 2013-05-11
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 2013-02-13
    相关资源
    最近更新 更多