---
title: "Available Data Model Properties for JDBC"
slug: "available-data-model-properties-for-jdbc"
updated: 2025-10-27T14:05:44Z
published: 2025-10-27T14:05:44Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plainid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Available Data Model Properties for JDBC

When importing metadata from a JDBC data source, the following properties can be configured to control how tables, procedures, and other objects are discovered and represented in the model. These properties help you tailor the import process to match your data source structure and naming conventions, avoid unnecessary or duplicate objects, and fine-tune schema handling for compatibility with downstream services.

You can configure these properties in the Translator or Importer settings depending on your environment. Most properties map directly to the standard JDBC `DatabaseMetaData` API, enabling consistent behavior across different relational databases.

### Available Data Model Properties

| Parameter | Description | Default |  |
| --- | --- | --- | --- |
| `catalog` | Catalog name to filter results. Maps to [`DatabaseMetaData.getTables`](https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getTables-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-). | `null` |  |
| `schemaPattern` | Schema pattern to match during table or procedure import. Uses SQL pattern matching. | `null` |  |
| `tableNamePattern` | Table name pattern to match during import. | `null` |  |
| `procedureNamePattern` | Procedure name pattern to match during import. Maps to [`DatabaseMetaData.getProcedures`](https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getProcedures-java.lang.String-java.lang.String-java.lang.String-). | `null` |  |
| `tableTypes` | Comma-separated list (no spaces) of table types to import (e.g., `TABLE,VIEW`). Maps to `DatabaseMetaData.getTables`. | `null` |  |
| `excludeTables` | Case-insensitive regular expression used to exclude fully qualified table names from import. Applied after table names are retrieved. Use negative lookahead (e.g., `(?!(sales | products)).*`) to include specific tables. | `null` |
| `excludeProcedures` | Case-insensitive regular expression used to exclude fully qualified procedure names. Similar behavior to `excludeTables`. | `null` |  |
| `useFullSchemaName` | When `false`, removes catalog/schema from the object name, resulting in a flat structure like `&lt;model&gt;.&lt;table&gt;`. May cause name collisions when importing from multiple schemas. This setting does **not** affect the "name in source" property. | `true` |  |
| `importKeys` | Enables importing of primary and foreign keys. Foreign keys referencing tables not included in the import are ignored. | `true` |  |
| `autoCreateUniqueConstraints` | Automatically creates a unique constraint if one is missing for a foreign key. | `true` |  |
| `importIndexes` | Enables importing index, unique key, and cardinality information. | `false` |  |
| `importApproximateIndexes` | Enables importing approximate index statistics. Applies when `importIndexes` is true. | `true` |  |
| `importProcedures` | Enables importing of stored procedures and their columns. Limitations may apply based on DB support (e.g., result sets, overloaded procedures). | `false` |  |
| `widenUnsignedTypes` | Converts unsigned numeric types to the next wider signed type (e.g., `tinyint` → `short`). Helps ensure compatibility in systems without native support for unsigned types. | `true` |  |
| `quoteNameInSource` | When `false`, generates SQL identifiers without quoting, which may result in compatibility issues with case-sensitive names. | `true` |  |
| `useProcedureSpecificName` | Allows importing overloaded procedures using their unique specific names. Only supported by JDBC 4.0+ drivers that report `procedureSpecificName`. | `false` |  |
| `useCatalogName` | Controls whether catalog names are included in the source and service names. Use `false` for databases that return non-null catalog values but don’t fully support the catalog concept (e.g., HSQL). | `true` |  |
| `useQualifiedName` | Enables or disables full name qualification based on `useCatalogName` and `useFullSchemaName`. If `false`, these settings are ignored. May lead to duplicate names across schemas. | `true` |  |
| `useAnyIndexCardinality` | Uses the highest cardinality returned by `DatabaseMetaData.getIndexInfo`. Requires `importKeys` or `importIndexes` to be enabled. Improves cardinality stats in sources lacking statistical indexes. | `false` |  |
| `importStatistics` | Enables use of DB-specific logic to determine cardinality when not otherwise available. Currently supported only for Oracle and MySQL. | `false` |  |
| `importRowIdAsBinary` | When `true`, imports `RowId` columns as `varbinary`. | `false` |  |

---
