【问题标题】:How should I save UUID with JPA?我应该如何使用 JPA 保存 UUID?
【发布时间】:2012-09-10 19:05:06
【问题描述】:

我应该如何使用 UUID 和 JPA?

我应该将随机 UUID 值分配给班级中的字符串字段吗?或者我应该有一个 UUID 类型的字段并在我想将其映射到列时对其执行其他操作?

【问题讨论】:

  • @MattBall >但是,您的编码效率会受到影响,因为您必须编写自定义类型。-来自该帖子中的答案。他是什么意思?
  • 我认为@MattBall 引用的帖子的作者说“编码效率会受到影响”时的意思是每个使用 UUID 键的实体都需要 zaske 中提到的那种类型转换器链接的帖子。因此,这些实体必须由开发人员创建,而不是由于使用自定义类型转换器而生成。
  • @SteveHall 哦,我明白了。感谢史蒂夫的解释。

标签: java jpa uuid


【解决方案1】:

这取决于数据库。
H2、MSSQL 和 PostgreSQL 等数据库支持唯一标识符类型。
对于这些类型,您可以扩展提供的方言(即 - PostgreSQLDialect)并添加对新类型的处理。
我基于以下 post 为 MSSQL 和 Postgresql 实现了类似的东西。
对于不支持 uniqueidentifier/UUID 类型的数据库,您应该使用 String。
这意味着您还应该问自己,您的应用程序是否必须支持多个数据库供应商,或者您是否可以坚持使用单个供应商
(然后选择第一个选项,如果适用)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2010-11-11
    • 1970-01-01
    • 2022-08-23
    • 2013-02-27
    • 2022-06-10
    • 1970-01-01
    相关资源
    最近更新 更多