Use Standard Java Classes (Instead of Database Constructs) for Collation and for Sorting Database Information
Suppose
you’ve properly configured your database to handle
the localizations required by your application. As we mentioned in
the previous section, the localization information contained within a
database can be used to determine things such as the collation or
sort order for data returned when the SQL ORDER_BY
clause is used to retrieve data.
You might or might not be familiar with the standard Java libraries
for collating data. Earlier, in Section 8.3.1, we mentioned the
java.text package, which contains the classes that
will allow you to control locale-based collation. In applications
that you designed to be internationalization-ready, you rely on
objects in the business object layer to control the collation and
sorting of data. There are a number of reasons why this is
advantageous over relying on your database to handle these operations
for you.
First, the rules for collation and sorting within the database are
typically not configurable. You rely on the operating system or
database vendor to investigate the locales it supports to develop the
proper rules for collation. However, these rules are not exposed from
the database. By allowing your business object layer to perform
locale-based collation, you can take advantage of classes such as
java.text.RuleBasedCollator
for fine-grained control over the rules for sorting.
Another reason is that although most databases ...