加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – @Temporal首选@Column columnDefinition?

发布时间:2020-12-14 06:00:48 所属栏目:Java 来源:网络整理
导读:哪个是最佳做法? @Column(name = "FOO",columnDefinition = "TIMESTAMP")private Date foo; 要么 @Column(name = "FOO")@Temporal(TemporalType.TIMESTAMP)private Date foo; 文档表明使用columnDefinition是不可移植的…… 解决方法 The documentation sug
哪个是最佳做法?
@Column(name = "FOO",columnDefinition = "TIMESTAMP")
private Date foo;

要么

@Column(name = "FOO")
@Temporal(TemporalType.TIMESTAMP)
private Date foo;

文档表明使用columnDefinition是不可移植的……

解决方法

The documentation suggests that using columnDefinition is non-portable

确实如此. columnDefinition指定了将使用的SQL数据类型.但是,此数据类型可能并非在所有RDBMS中都可用.在JPA中,JPA提供者有责任弄清楚SQL在哪个DB上工作.您可以指定部分配置,但始终存在破坏对某些数据库的支持的风险.

另一方面,@Temporal是一种抽象,是JPA标准的一部分.每个JPA提供程序必须能够将不同类型的@Temporal映射到所有受支持数据库的不同SQL类型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读