La cartographie des propriétés calculées avec JPA

Est-il un moyen de mapper une propriété calculée en utilisant JPA?

En supposant que j'ai un Invoice objet avec un ou plusieurs InvoiceLineItems sein, je veux avoir une persistance de la propriété calculée sur la Invoice classe qui me donne le montant total:

class Invoice {
    ...

    @Column(name = "TOTAL_AMOUNT")
    public BigDecimal getTotalAmount() {
        BigDecimal amount = BigDecimal.ZERO;
        for (InvoiceLineItem lineItem : lineItems) {
            amount = amount.add(lineItem.getTotalAmount());
        }
        return amount;
    }
}

Maintenant, je pourrais créer un protégé non-op setTotalAmount méthode pour faire JPA heureux, mais je me demandais si il existe un moyen de laisser JPA savoir que la cartographie est d'une seule façon et pour éviter de créer un superflu méthode d'initialisation.

Grâce,
Aleks

OriginalL'auteur Aleksandar Seovic | 2009-08-31