This is an example for a JPA Passive logging. This means that you don't have to add anything to your models but some inheritance, and then all fo the logging for changes for all of the proeprties is done by itself.
For more info go to http://www.blogeek.com.ar/2012/12/15/how-to-passively-log-changes-to-your-jpa-model-add-modify-and-delete-with-example/