我正在为列中的值显示(特定于语言的)标签。该列是可排序的,并且 JSF 标签与数据库值不同。我正在使用带有分页的 primefaces 数据表。
如何按标签而不是数据库值排序?是否有任何可能的翻译,以便我的 JPA 标准知道不同的值(value)?
在内存中对其进行排序不是一种选择,因为数据集可能很大而且我只想显示一个子集(分页大小是例如每页 10 个项目)
最佳答案
我相信这是不可能实现你正在寻找的。
您的数据库无法排序,除非它知道值是什么。您可以在从数据库加载后转换标签和排序,但由于资源限制,您不希望在内存中排序。
最好的解决方案是在数据库中实现本地化解决方案。然后您的数据库可以查找每个标签的翻译并应用排序。我个人认为这是本地化任何应用程序时要走的路,因为它允许最终用户轻松翻译。您甚至可以编写执行数据库查找的 Java 资源包提供程序,而不是引用文件系统包。
关于jsf-2 - 如何在可排序数据表中按 JSF 标签排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014522/