版本:org.hibernate:hibernate-core:5.4.3.Final
源码:org.hibernate.type.descriptor.sql.JdbcTypeJavaClassMappings
JDBC 类型映射方法
/**
* For the given Java type, determine the JDBC recommended JDBC type.
*
* This includes the mappings defined in <i>TABLE B-2 - Java Types Mapped to JDBC Types</i> as well as some additional "common sense" mappings for things like BigDecimal, BigInteger, etc.
*/
public int determineJdbcTypeCodeForJavaClass(Class cls) {
Integer typeCode = javaClassToJdbcTypeCodeMap.get(cls);
if (typeCode != null) {
return typeCode;
}
int specialCode = cls.hashCode();
log.debug("JDBC type code mapping not known for class [" + cls.getName() + "]; using custom code [" + specialCode + "]");
return specialCode;
}
JDBC 类型映射表
private static ConcurrentHashMap<Class, Integer> buildJavaClassToJdbcTypeCodeMappings() {
final ConcurrentHashMap<Class, Integer> wor