Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我怎样才能坚持使用@Formula?_Java_Spring_Hibernate - Fatal编程技术网

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

Java 我怎样才能坚持使用@Formula?,java,spring,hibernate,Java,Spring,Hibernate,我正在用@Formula计算一个表的一些属性,我希望它们保持不变,但我无法将它们反映在数据库中,也就是说,它们保持不变。有没有办法保存计算属性?您不能使用@Formula注释来实现此目的,因为以下内容对此进行了解释: 您可以使用SQL片段(也称为公式)而不是将属性映射到列中。此类属性是只读的(其值由公式片段计算) 我想@ColumnTransformer注释就是您需要的 这是一个来自以下方面的示例: @列(name=“pswd”) @柱状变压器( read=“解密('AES','00',pswd

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

您不能使用
@Formula
注释来实现此目的,因为以下内容对此进行了解释:

您可以使用SQL片段(也称为公式)而不是将属性映射到列中。此类属性是只读的(其值由公式片段计算)

我想
@ColumnTransformer
注释就是您需要的

这是一个来自以下方面的示例:

@列(name=“pswd”)
@柱状变压器(
read=“解密('AES','00',pswd)”,
write=“加密('AES','00',?)”
)
私有字符串密码;

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

对不起,我不理解您的意思。如果你解释读和写的含义以及“解密或加密”会更好。好的,请说明你如何使用
@Formula
,以及你想要存储什么值以及存储在哪里。我已经更新了答案,希望能有所帮助。所以在write字段中,我应该插入语句?老实说,我不清楚你想要实现什么。通常,
@Formula
用于基于目标实体表中的某些列的小计算。如果您想进行一些小计算并将值存储到目标实体的某个列中,则选择
@ColumnTransformer
是正确的选择。如果需要使用复杂sql进行计算,然后使用复杂sql插入数据,则只需将此逻辑移到实体之外。