Это зависит от того, какую постоянную среду вы используете.
Для Mybatis вы можете добавить инсерцептор
вот так
<plugins>
<plugin interceptor="com.XXX.XXXX.service.encryptinfo.MyInterceptor" />
</plugins>
Тогда реализуй это
@Intercepts({
@Signature(type=Executor.class,method="update",args={MappedStatement.class,Object.class}),
@Signature(type=Executor.class,method="query",args={MappedStatement.class,Object.class,RowBounds.class,ResultHandler.class})
})
public class MyInterceptor implements Interceptor{
// your logic here
// write something that use reflection capture your custom annotaion of the entity and field
}