我正在为列中的值显示(特定于语言的)标签。该列是可排序的,JSF标签与数据库值不同。我正在使用带分页的primefaces数据表。
如何按标签排序,而不是按数据库值排序?有没有可能的翻译,所以我的JPA标准知道不同的价值?
在内存中对它进行排序不是一个选项,因为数据集可能很大,我只想显示一个子集(分页大小例如每页10个项目)
答案 0 :(得分:0)
我认为无法实现您的目标。
除非知道该值是什么,否则您的数据库无法排序。您可以在从数据库加载后转换标签并进行排序,但由于资源限制,您不希望在内存中排序。
最佳解决方案是在数据库中实施本地化解决方案。然后您的数据库可以查找每个标签的翻译并应用排序。我个人认为这是本地化任何应用程序的方法,因为它允许最终用户轻松翻译。您甚至可以编写执行数据库查找的Java资源包提供程序,而不是引用文件系统包。
答案 1 :(得分:0)
这里有一个lazyload的例子:
您可以按照该链接的方法编写自定义排序。