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.
// perform calculations
@Formula( "sub_total + (sub_total * tax)" )
long getTotalCost() { ... }
// call database functions ( e.g. MySQL upper() and substring() )
@Formula( "upper( substring( middle_name, 1 ) )" )
Character getMiddleInitial() { ... }
// this might be better handled through @ColumnTransformer
@Formula( "decrypt(credit_card_num)" )
String getCreditCardNumber() { ... }