Фон
Сопоставить тип данных столбца с соответствующим ему классом Java.
Проблема
Запрос возвращает метаинформацию из базы данных:
SELECT
rb.object_schema,
rb.object_name,
rb.column_name
FROM
dictionary.resource_bundle rb
Например, этот запрос возвращает (самоссылочный):
dictionary, resource_bundle, column_name
Где 'dictionary' - это имя схемы, 'resource_bundle' - это имя_объекта, а 'column_name' - это имя_ столбца.
Было бы здорово сделать что-то вроде:
SELECT
rb.object_schema,
rb.object_name,
rb.column_name,
rb.column_type
FROM
dictionary.resource_bundle rb
И этот запрос возвращает:
dictionary, resource_bundle, column_name, varchar
Затем используйте JDBC, чтобы обнаружить, что varchar
сопоставлен с на java.lang.String
.
Вопросы
- Как в PostgreSQL определить, какой тип используется для хранения данных, учитывая имя схемы, имя объекта (гарантированно будет таблицей или представлением) и имя столбца?
- Каким образом вы определяете отображение, которое база данных использует для данного типа данных, нейтральным по отношению к базе данных (используя JDBC)?