java - Hibernate 在我的数据库中随机生成 joda 时间列作为微小的 blob

标签 java hibernate jodatime

我遇到了一些奇怪的情况,我似乎无法弄清楚。

我有一组带有 Jodatime 日期时间字段的 Hibernate 注释实体类。当 hibernate 生成我的架构时,一些日期时间字段被正确设置为 MySQL 中的 DateTime 列,而其他字段则被创建为微小的 blob。我正在使用 Usertype 库为我做我的类型映射,但我已经用 joda-time-hibernate 库尝试过,我得到了相同的结果。奇怪的是,这些列在我的代码中的声明方式完全相同,例如

这个生成一个小 Blob 而不是日期时间:

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime respondedTime;

但是不同类中的这个正确生成日期时间列:

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime date;

所以我想知道是否有人遇到过类似的事情,或者他们是否知道如何确保 Hibernate 为我的日期时间字段生成 DateTime 列。

如果它有什么不同,我正在使用用户类型 1.8 版和 jodatime 1.6 版与 hibernate 3.6.0.Final

最佳答案

UserType 实现认为它无法处理该类型时,如果 Hibernate 找不到列的用户类型,就会发生这种行为。

所以要么参数有类型,要么 UserType 有错误,或者 DateTime 在这两个地方是不同的类型。

为避免拼写错误,我建议使用 @TypeDefs 为用户类型创建更具可读性的名称。

参见 this blog post .

关于java - Hibernate 在我的数据库中随机生成 joda 时间列作为微小的 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5678721/

相关文章:

java - 如何在 linux 中为 java 安装

java - 安卓工作室 : change from startActivityForResult to registerForActivityResult

java - Hibernate - 更新/选择后的结果相同

groovy - ElasticSearch 1.5升级:JodaTime转换脚本错误

java - Joda-Time 奇怪的时刻

java - 表渲染器在 Java 中无法正常工作

java - 通过 Java 给出准备好的 SOAP 响应

java - 如何跨不同的 xml 文件访问 bean

spring - j_spring_security_check HTTP 状态 404(自定义登录)

Scala - 找不到类型 : scala. Tuple5 的即时转换器