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

use*_*705 5 hibernate jpa jdbc

每个JPA-Provider(至少是hibernate,eclipselink和openjpa)都可以在jpa实体类的基础上创建ddl-schema.但是每个数据库管理系统都有自己的数据类型.

那么jpa-providers如何决定选择哪种sql数据类型.(我认为这将是提供商特定的).是否有像等的映射String->varchar(xx), boolean->tinyint.但是这个映射必须存在于每个数据库中,对吧?有人能把我放在正确的方向吗?我在hibernate源代码中搜索但是我找不到正确的代码片段.

谢谢!

SiB*_*SiB 1

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

你是对的。在数据库连接中使用的方言中也指定了相同的内容。

无论我搜索什么,这些信息都封装在您使用的数据库的方言驱动程序内,并且它必须包含java types -> db types.

在这里您可以看到Constructor中的映射。