栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在不同情况下使用不同的休眠用户类型

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在不同情况下使用不同的休眠用户类型

这个问题确实很老了,已经回答了很长时间,但是最近我也遇到了同样的情况,并且找到了一个很好的解决方案。首先,我发现Hibernate具有三种不同的内置UUID类型实现:

  1. binary-uuid
    :将UUID存储为二进制
  2. uuid-char
    :将UUID存储为字符序列
  3. pg-uuid
    :使用本地Postgres UUID类型

这些类型默认情况下已注册,并且可以为带

@Type
注释的给定字段指定,例如

@Column@Type(type = "pg-uuid")private UUID myUuidField;

还有 也是 在覆盖默认类型的机制

Dialect
。因此,如果最终的部署是与Postgres数据库进行通信,但是单元测试使用HSQL,则可以
pg-uuid
通过编写自定义方言来覆盖类型以读取/写入字符数据,如下所示:

public class CustomHSQLDialect extends HSQLDialect {    public CustomHSQLDialect() {        super();        // overrides the default implementation of "pg-uuid" to replace it        // with varchar-based storage.        addTypeOverride(new UUIDCharType() { @Override public String getName() {     return "pg-uuid"; }        });    }}

现在,只需插入自定义方言,该

pg-uuid
类型就可以在两种环境中使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号