С драйвером JDBC oracle (ojdbc7.jar), когда я делаю x = Resultset.getString ("COLUMN_DEF") для столбца, где значением по умолчанию является "N / A" в базе данных ("N / A" установлено всоздание таблицы, 'N / A' видно с помощью инструмента DBeaver), драйвер JDBC возвращает x = "'n / a'" (с postgres и mysql возвращает x = "N / A").
do youиметь представление о том, почему оно в нижнем регистре и почему оно заключено в строку результата?
Заранее благодарим за любую помощь по этому вопросу!
PS: как я используюобъект метаданных базы данных:
private static void readColumnMetaData(AMIDBLoader dbLoader, DatabaseMetaData metaData, String internalCatalog, String externalCatalog, String _table, Map<String, String> amiEntityMap, Map<String, String> amiFieldMap) throws SQLException
{
try(ResultSet resultSet = metaData.getColumns(internalCatalog, internalCatalog, _table, "%"))
{
while(resultSet.next())
{
String table = resultSet.getString("TABLE_NAME");
String name = resultSet.getString("COLUMN_NAME");
String type = resultSet.getString("TYPE_NAME");
int size = resultSet.getInt("COLUMN_SIZE");
int digits = resultSet.getInt("DECIMAL_DIGITS");
String def = resultSet.getString("COLUMN_DEF");
код для создания таблицы:
CREATE TABLE "router_locations" (
"id" NUMBER(*, 0),
"continentCode" VARCHAR2(3) DEFAULT 'N/A',
"countryCode" VARCHAR2(3) DEFAULT 'N/A'
);;
Джером