Hibernate JPA @Formula Example
@Formula
The @Formula annotation is used to specify an SQL fragment that is executed in order to populate a given entity attribute.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.
// 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() { ... }
Example : @Formula mapping usage
@Entity(name = "Account")public static class Account {
@Id
private Long id;
private Double credit;
private Double rate;
@Formula(value = "credit * rate")
private Double interest;
//Getters and setters omitted for brevity
}
Comments
Post a Comment