【问题标题】:Why can't we apply @ColumnTransformer to @Id (primary key) field?为什么我们不能将@ColumnTransformer 应用于@Id(主键)字段?
【发布时间】:2019-02-20 15:06:47
【问题描述】:

我使用 Hibernate 的 @ColumnTransformer 将加密的数据库列映射到实体属性。

@ColumnTransformer(
        read =  "pgp_sym_decrypt(refresh_token::bytea, 'mykey or obfuscated key from keystore')",
        write = "pgp_sym_encrypt(?, 'mykey or obfuscated key from keystore')"
)
@Column(name="refresh_token")
private String refreshToken;

我决定使用刷新令牌作为主键(这是个坏主意吗?)并使用新的访问令牌更新表行。 但它不适用于编码的主键。

为什么我们不能将@ColumnTransformer 应用于@Id(主键)字段?

【问题讨论】:

    标签: java postgresql hibernate


    【解决方案1】:

    我在 Hibernate 问题跟踪器中发现了 2015 年的这个问题,该功能请求被主动拒绝:https://hibernate.atlassian.net/browse/HHH-9808

    如果我理解正确,它会使更新和延迟加载方式变得更加复杂。另外,好像也没什么兴趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 2022-05-03
      • 2016-05-08
      相关资源
      最近更新 更多