繁体   English   中英

我怎样才能坚持使用@Formula?

[英]How can i persist with @Formula?

我正在使用@Formula计算表的一些属性,我希望它们保持不变,但我无法让它们反映在数据库中,也就是说,它们保持不变。 有没有办法保留计算的属性?

您不能为此目的使用@Formula注释,因为它在文档中是如何解释的:

您可以使用 SQL 片段(又名公式)而不是将属性映射到列中。 这种属性是只读的(它的值是由你的公式片段计算的)

我猜@ColumnTransformer注释是你需要的。

这是文档中的一个示例:

@Column(name = "pswd")
@ColumnTransformer(
    read = "decrypt( 'AES', '00', pswd  )",
    write = "encrypt('AES', '00', ?)"
)
private String password;

这里read的是 sql 片段,它将在password字段初始化期间计算, write的是 sql 片段,将在password字段保存期间计算(结果值将保存在pswd列中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM