java - 是否有实现与默认映射不同的 Java 类型与 SQL 类型映射的最佳实践

标签 java sql jpa informix

我正在 JPA 2.0 项目中工作,为大约 100 个表生成实体 (Informix)。我的要求告诉我,工件必须提供一个干净的解决方案来以这种方式管理数据类型转换:

  • Float SQL 类型必须实现为 Float Java 类型,而不是默认的 Java Double 类型。

  • 日期 SQL 类型必须实现为日历 Java 类型,而不是默认的 Java SQL 日期类型。

IMO 的简单方法是创建一个提供正确转换的实用程序类,并在必要时使用它。

是否有任何工具或类似工具可以帮助自动执行此任务?

最佳答案

如果您使用 @Temporal(TemporalType.DATE) 注释 java.util.Calendar 字段,那么生成的SQL应该是DATE类型,例如:

@Temporal(TemporalType.DATE)
@Column(name = "SOME_DATE")
private Calendar someDate;

此外,您还可以使用columnDefinition指定如何生成列的DDL。 :

@Column(name = "SOME_FLOAT", columnDefinition = "FLOAT(8)")
private Float someFloat;

关于java - 是否有实现与默认映射不同的 Java 类型与 SQL 类型映射的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18002142/

相关文章:

java - 从 hibernate 数据库获取数据需要太长时间

java - 访问字符串数组中的特定位置

SQL ORDER by STRING 奇怪的语法

java - 使用 Olingo 和 JPA 进行授权

mysql - NodeJS : Nested SQL query for custom REST API endpoint

sql - 用户最后值(value)的总和

java - Hibernate 每个国家/地区一个实体多个表

java - 来自单独 bundle 的 JPA 实体,使用主 bundle 中的一个连接

java - 为什么算术异常是未经检查的异常?

java - Angular html5 模式和 HAL 浏览器