【发布时间】:2019-06-04 20:59:57
【问题描述】:
我正在使用 Hibernate v5.4.0.Final 和带有this dialect 的 SQLite,但是当我创建一个带有 UUID 列的表时,它被存储为 BLOB 而不是数据库中的文本。
例如:
我想将数据存储为文本,以便我可以在数据库中查看它,我发现 this solution 在列字段上使用 @Type(type = "uuid-char") 效果很好。
但是,在我的应用程序中,我无权访问表类,因此无法轻松将此注释添加到字段中。
我链接的问题中的一些 cmets/answers 声称您可以子类化您正在使用的方言并在构造函数中使用 registerColumnType() 但这似乎不起作用,答案是 9 岁所以我不要觉得这令人惊讶。
如何覆盖默认的 UUID 类型?
【问题讨论】:
-
您需要指定一个确切版本的Hibernate。
-
5.4.0.Final @chrylis
-
@TimBiegeleisen 我不知道如何将 blob 转换回文本,我的问题是关于如何覆盖 Hibernate 库中类型的默认序列化,以便它不使用 BLOB第一名。
-
我是说不要将 UUID 存储为文本,如果唯一的原因是在数据库中查看它们。