Я имею дело с клиническим применением, в котором используются как базовые, так и производные единицы измерения.
В настоящее время мы храним их в виде текстового поля в отдельном столбце в каждой таблице, для которой требуются единицы измерения. Однако я планирую изменить структуру базы данных таким образом, чтобы у нас были все единицы измерения в одной таблице и использовались внешние ключи в таблице, для которых требуются единицы измерения.
Этот тип решает проблему на уровне базы данных. Однако в коде Java мы используем String для хранения модулей следующим образом:
class Foo{
double amount;
String unit;
}
Я полагаю, что использование String для хранения юнитов может превратиться в ночную кобылу в будущем. Мне нужны предложения по чистому способу управления единицами измерения, чтобы я мог, скажем, сравнить два Foo или добавить два Foo, убедившись, что они имеют одинаковые единицы и т. Д.