Hibernate jpa将java类型映射到数据库类型

Hibernate jpa将java类型映射到数据库类型,hibernate,jpa,jdbc,Hibernate,Jpa,Jdbc,每个JPA提供者(至少hibernate、eclipselink和openjpa)都可以基于JPA实体类创建ddl模式。但是每个数据库管理系统都有自己的数据类型 那么jpa提供者如何决定选择哪种sql数据类型呢。(我认为这将是特定于供应商的)。是否存在类似String->varchar(xx)、boolean->tinyint等映射。但是这种映射必须存在于每个数据库中,对吗?有人能给我指出正确的方向吗?我搜索了hibernate源代码,但没有找到正确的代码片段 谢谢 请参见类及其实现 干杯,对于

每个JPA提供者(至少hibernate、eclipselink和openjpa)都可以基于JPA实体类创建ddl模式。但是每个数据库管理系统都有自己的数据类型

那么jpa提供者如何决定选择哪种sql数据类型呢。(我认为这将是特定于供应商的)。是否存在类似
String->varchar(xx)、boolean->tinyint
等映射。但是这种映射必须存在于每个数据库中,对吗?有人能给我指出正确的方向吗?我搜索了hibernate源代码,但没有找到正确的代码片段

谢谢

请参见类及其实现


干杯,

对于hibernate维护的每个DBMS。它在hibernateX.jar中提供

那么每个数据库都必须存在这个映射,对吗

你说得对。在DB连接中使用的方言中也有相同的规定

无论我搜索了什么,此信息都封装在您使用的DB的方言驱动程序中,并且必须包含
java类型->DB类型的映射


您可以在构造函数中看到映射

查看mysqldialent类的源代码