Vous pouvez utiliser INSERT ... RETURNING
ou UPDATE ... RETURNING
pour récupérer les valeurs qui ont été modifiées par le déclencheur, il n'est donc pas nécessaire de faire un autre SELECT.
En dehors de cela, je dirais que cela dépend de votre environnement. Si l'application est essentielle à la mission et échouera lamentablement si ces colonnes ne sont pas correctement entretenues, je m'en tiendrai aux déclencheurs.
Si ce n'est que pour des raisons de commodité dans le frontal (et qu'il peut gérer les conflits dus à des valeurs incorrectes avec élégance), l'approche JPA est probablement plus facile à maintenir.