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

时间:2012-10-18 08:55:45

标签: hibernate jpa jdbc

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

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

谢谢!

3 个答案:

答案 0 :(得分:1)

  

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

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

对于我搜索的内容,此信息封装在您使用的数据库的方言驱动程序中,并且必须包含java types -> db types的映射。

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

答案 1 :(得分:0)

请参阅Dialect类及其实现。

干杯,

答案 2 :(得分:0)

对于每个DBMS,hibernate都维护方言。这可以在hibernateX.jar中找到。