gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:38:14 26 4
gpt4 key购买 nike

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

我有一组带有 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com