Including any logic other than a simple return of the field in a persistence-annotated method can result in odd behavior, including for example, the default construction of empty members which are annotated to be ``++lazy++``. == Noncompliant Code Example ---- private Double price; @Columm(name="price") public Double getPrice() { if(buyer.isLoaltyMember()) { // Noncompliant return price - getLoyaltyDiscount(); } else { return price; } } ---- == Compliant Solution ---- @Columm(name="price") private Double price; public Double getPrice() { if(buyer.isLoaltyMember()) { return price - getLoyaltyDiscount(); } else { return price; } } ---- or ---- private Double price; @Columm(name="price") public Double getPrice() { return price; } public Double calculatePrice() { if(buyer.isLoaltyMember()) { // Noncompliant return getPrice() - getLoyaltyDiscount(); } else { return getPrice(); } } ----