gpt4 book ai didi

java - 为 Hibernate @ColumnTransformer 打开 JPA 等价物

转载 作者:搜寻专家 更新时间:2023-11-01 03:18:34 24 4
gpt4 key购买 nike

我正在将 ORM 框架从 Hibernate 切换到 OpenJPA。

在 Hibernate 中,我们可以使用 @ColumnTransformer 注释一个字段,如下所示。

@Column(name = "EMP_NAME", length = 4000)
@ColumnTransformer(
read = "pgp_pub_decrypt(emp_name::bytea,dearmor('"+key1+"'))",
write = "pgp_pub_encrypt(?, dearmor('"+key2+"'))"
)
private String empName;

如何在 OpenJPA 中做同样的事情

最佳答案

我不确定与此相关的 OpenJPA 特定功能,但以下两个备选方案适用于所有 JPA 提供程序:

  1. 创建一个 updatable view执行必要的转换并将实体映射到 View 而不是表。
  2. 将转换移至中间件并将其应用到 entity lifecycle callbacks 中.

这两种解决方案的另一个好处是您可以使实体不受自定义原生 SQL 的影响。

关于java - 为 Hibernate @ColumnTransformer 打开 JPA 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38924915/

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