@Target(value={METHOD,FIELD}) @Retention(value=RUNTIME) public @interface Formula
Defines a formula (derived value) which is a SQL fragment that acts as a @Column alternative in most cases. Represents read-only state.
In certain cases @ColumnTransformer might be a better option, especially as it leaves open the option of still being writable.
<blockquote><pre> // perform calculations @Formula( "sub_total + (sub_total * tax)" ) long getTotalCost() { … } </pre></blockquote>
<blockquote><pre> // call database functions ( e.g. MySQL upper() and substring() ) @Formula( "upper( substring( middle_name, 1 ) )" ) Character getMiddleInitial() { … } </pre></blockquote>
<blockquote><pre> // this might be better handled through @ColumnTransformer @Formula( "decrypt(credit_card_num)" ) String getCreditCardNumber() { … } </pre></blockquote>
ColumnTransformer
public abstract String value
The formula string.
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.