Puedes usar INSERT ... RETURNING
o UPDATE ... RETURNING
para recuperar los valores que fueron cambiados por el disparador, por lo que no hay necesidad de hacer otro SELECT.
Aparte de eso, diría que depende de su entorno. Si la aplicación es de misión crítica y fallará miserablemente si esas columnas no se mantienen correctamente, entonces me quedaría con los factores desencadenantes.
Si esto es solo por conveniencia en el front-end (y puede manejar conflictos debido a valores incorrectos con gracia), entonces el enfoque JPA es probablemente más fácil de mantener.