5

列の値に (言語固有の) ラベルを表示しています。列はソート可能で、JSF ラベルはデータベース値とは異なります。ページネーション付きのprimefacesデータテーブルを使用しています。

データベースの値ではなく、ラベルで並べ替えるにはどうすればよいですか? 私のJPA基準が異なる値について知っているように、可能な翻訳はありますか?

データセットが巨大である可能性があり、サブセットのみを表示したいため、メモリ内での並べ替えはオプションではありません (ページネーションのサイズは、たとえば、1 ページあたり 10 アイテムです)。

4

2 に答える 2

0

ここに遅延ロードの例があります:

そのリンクのメソッドに従ってカスタムソートを書くことができます。

于 2013-04-13T03:41:18.767 に答える
0

あなたが探しているものを達成することは不可能だと思います。

値が何であるかを認識しない限り、データベースはソートできません。データベースからロードした後にラベルとソートを変換できますが、リソースの制約によりメモリ内ソートは必要ありません。

最善の解決策は、ローカリゼーション ソリューションをデータベースに実装することです。次に、データベースは各ラベルの翻訳を検索し、並べ替えを適用できます。個人的には、エンドユーザーが簡単に翻訳できるようになるため、アプリケーションをローカライズする際にはこれが適していると思います。ファイルシステム バンドルを参照する代わりに、データベース ルックアップを行う Java リソース バンドル プロバイダを作成することもできます。

于 2013-01-30T21:22:53.597 に答える