The Hibernate type system maps Java property types to SQL types. The configured SQL dialect then influences the database-specific column type used during schema generation. For example, a BigDecimal property defaults to NUMERIC(19, 2); @Column(precision = ..., scale = ...) changes those settings. section 6.3.1
String columns also depend on mapping settings and dialect. With no specified length, a String maps to VARCHAR(255). Setting @Column(length = ...) or a Bean Validation @Length can change the selected SQL type; a MySQL dialect may select VARCHAR, MEDIUMTEXT, or LONGTEXT according to length. section 6.3.1
Choose a legacy boolean representation
Annotate a boolean property with @Type(type = "yes_no") to use the built-in mapping to CHAR(1) values 'Y' and 'N', rather than the standard BOOLEAN mapping. section 6.3.1
Table 6.2 Adapters for character and string values (view table figure)
Compare built-in mappings for String, character arrays, booleans, and other values represented as SQL character types. section 6.3.1
