使用Listener覆盖删除方法LightAdmin。这是可能的?

时间:2014-12-20 18:34:32

标签: java hibernate spring-mvc lightadmin

我在Spring MVC项目中使用Lightadmin http://lightadmin.org/ crud框架。我正在搜索覆盖“删除方法”的方式,因为我想做一个“软删除”,我的实体中有一个名为“已删除”的字段。当我按下删除按钮时,确实删除了我的数据库中的行,我想要更改该行为以进行更新,并将删除的字段设置为true。

我在官方文档中搜索并发现了这个:http://lightadmin.org/getting-started/registering-repository-event-listeners/,但是当侦听器上的方法执行时,最后在数据库中删除了该行。我想停止执行以防止删除操作。我正在做“回归”,但没有工作。这是我的倾听者。

可能框架LightAdmin是一个糟糕的选择,但我需要一个像这样的框架。你知道吗?感谢所有!!!!!

public class PersonListener extends AbstractRepositoryEventListener<Person> {

private static final Logger logger = LoggerFactory.getLogger(PersonListener.class);


//@Autowired
private PersonFacadeImpl personFacade = new PersonFacadeImpl() ;

//@Autowired
//private PersonFacade personFacade;


@Override
protected void onBeforeDelete(Person entity) {
    //super.onBeforeDelete(entity);
    personFacade.deleteSoft(entity.getId());
    logger.info("ON BEFORE DELETE PERSON " + entity.getName());

    //Here I want prevent the next step , its go to delete the row
    //calling hibernate

    return;

}

@Override
protected void onAfterDelete(Person entity) {
    //super.onAfterDelete(entity);
    logger.info("ON AFTER DELETE PERSON " + entity.getName());

}



}
}

0 个答案:

没有答案