Use LifeCycleCallBack and doctrine events