Data Model
The CData JDBC Driver for HubSpot models HubSpot data as an easy-to-use SQL database with tables, views, and stored procedures.
The driver exposes five schemas:
- See HubSpot Data Model for the available entities in the HubSpot API.
- See HubSpot V3 Data Model for the available entities in the HubSpot V3 API.
- See HubSpot V4 Data Model for the available entities in the HubSpot V4 API.
- See HubSpot 2026-03 Data Model for the available entities in the HubSpot 2026-03 API.
- See HubSpot Latest Data Model for the available entities in the latest HubSpot API release.
Batch Operations
Since the HubSpot API supports a maximum batch size of 10, we recommend setting the BatchSize connection property to that value. Setting a larger value does not improve the performance of the driver.
Column Name Normalization
Normalization is a structured way to organize data in your database. To enforce data normalization, database administrators use Normal Forms to design a database that is flexible, avoids redundant data, and protects data integrity.To avoid normalization issues on a table-by-table basis, database administrators can drill down still further and use column name normalization to convert inconsistent database or spreadsheet column headers into a standard, uniform format. This help prevent issues such as:
- Code errors that result from spaces or special characters in column headers.
- Capitalization conflicts that can arise when columns are capitalized differently. (For example, in one table the user ID column might be USERID; in another, UserID.)
Column Name Normalization in CData JDBC Driver for HubSpot
The behavior of column name normalization in CData JDBC Driver for HubSpot depends on two connection properties: UseDisplayNames and UseSimpleNames.Column name normalization requires you to set the following parameters:
- UseDisplayNames, set to True (default)
- UseSimpleNames, (if enabled)
The column name normalization process applies UseDisplayNames first, and UseSimpleNames second, as follows:
Step 1: Apply UseDisplayNames
When UseDisplayNames=True, the driver uses the display label of the field instead of the internal name and applies internal normalization to make it suitable for use as a column name.As part of this process:
- Certain characters such as ":" and "-" are handled as separators.
- White space around these separators may be removed.
- The name may be transformed into a CamelCase-style format (for example, Street Address > StreetAddress).
- Underscores ("_")introduced during intermediate steps may be removed during final formatting.
This results in a normalized display-based column name that may differ from the original label.
Step 2: Apply UseSimpleNames
The UseSimpleNames logic is applied after UseDisplayNames processing. This means that the input to UseSimpleNames is not the raw display name, but a version of the original label that has already been transformed once.When UseSimpleNames is enabled, the driver further normalizes the column name using the following rules:
- Only letters (A–Z, a–z), digits (0–9), and underscores (_) are retained. All other characters (spaces, punctuation, special symbols, unicode, etc.) are replaced with _.
- Consecutive underscores are collapsed into a single underscore.
- If the column name exceeds 127 characters, it is truncated.
This step ensures compatibility with standard SQL naming conventions.
Example
Original HubSpot label: Country/Region - DON'T USE- UseDisplayNames processing: The label is normalized by handling separators and formatting:
Country/RegionDON'TUSESpaces around separators are removed and the name is compacted.
- UseSimpleNames processing: Non-alphanumeric characters are replaced with underscores:
Country_RegionDON_T_USE