【发布时间】:2015-11-05 14:05:23
【问题描述】:
在带有 Neo4jConfig 的 Neo4j/Spring Boot 应用程序中,我有以下钩子:
@Bean
protected ApplicationListener<BeforeSaveEvent<BaseEntity>> beforeSaveEventApplicationListener() {
return new ApplicationListener<BeforeSaveEvent<BaseEntity>>() {
@Override
public void onApplicationEvent(BeforeSaveEvent<BaseEntity> event) {
BaseEntity entity = event.getEntity();
if (entity.getCreateDate() == null) {
entity.setCreateDate(new Date());
} else {
entity.setUpdateDate(new Date());
}
}
};
}
它与 Spring 的早期版本 - 4.1.7.RELEASE 完美配合,但不适用于最新版本 4.2.0.RELEASE
我用
SDN 3.4.0.RC1 和 Spring Boot 1.2.5.RELEASE
可能是什么原因?
【问题讨论】:
-
如果 BaseEntity 是抽象的,那么值得快速检查一下是否将其设为公开非抽象可以修复它。如果是这样,那么这一定是某种回归。现在想不出别的了。
-
不,它
public class BaseEntity -
然后您可以使用依赖于核心 4.2 的引导 1.3.0.M3 进行测试。至少 boot 1.2.5 并没有被 core 4.2 官方支持。还要检查您是否没有混合核心版本,因为更新所有部门并不总是那么容易。
标签: spring spring-boot spring-data spring-data-neo4j