【发布时间】:2011-03-09 19:31:34
【问题描述】:
背景
将列数据类型映射到其对应的 Java 类。
问题
查询从数据库返回元信息:
SELECT
rb.object_schema,
rb.object_name,
rb.column_name
FROM
dictionary.resource_bundle rb
例如,这个查询返回(自引用):
dictionary, resource_bundle, column_name
其中 'dictionary' 是架构名称,'resource_bundle' 是 object_name,而 'column_name' 是 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是mapped到java.lang.String。
问题
- 在 PostgreSQL 中,如果给定架构名称、对象名称(保证为表或视图)和列名称,您如何确定用于存储数据的类型?
- 以与数据库无关的方式(利用 JDBC),您如何确定数据库用于给定数据类型的映射?
【问题讨论】:
标签: java sql postgresql jdbc metadata