Internationalization

#1

What would be a good way to implement internationalization with ObjectDB?

Let's say we do have a product catalog and we need to provide category and product data internationally. With a relational database we most probably would have two tables, one for locale neutral information, i.e. Product with fields SKU, price, etc. and another one for locale information only, i.e. ProductLocale with fields name, description, etc.

Theoretically with a pure object-orientated approach this would not be necessary, instead we could use maps for the international members and provide a map entry for each locale, then we could call a method for example like getName("en") and it would return the map entry for the english product name, getName() without a locale would just return the default language.

Technically this also probably would work fine with the @ElementCollection annotation, but how would this impact the performance, let's say when there are millions of products each with several multi-language members where for example the long description would be even stored as a rather long HTML code, wouldn't that severely impact the performance?

What would you suggest to do instead?

Thanks a lot for your great support.

 

 

#2

You may use a map with entry for each locale, but it may be more efficient to have entities as values in this map (rather than string values), since it will enable loading only required data.

In the general case it may enable using the cache more effectively.

ObjectDB Support

Reply