Puoi usare INSERT ... RETURNING
o UPDATE ... RETURNING
per recuperare i valori che sono stati modificati dal trigger, quindi non è necessario eseguire un altro SELECT.
A parte questo, direi che dipende dal tuo ambiente. Se l'applicazione è mission-critical e fallirà miseramente se quelle colonne non vengono mantenute correttamente, rimarrei con i trigger.
Se questo è solo per comodità nel front-end (e può gestire con grazia i conflitti dovuti a valori errati), allora l'approccio JPA è probabilmente più facile da mantenere.