我目前正在从事一个利用Spring数据Neo4j的项目。每当创建节点时,我都希望创建一个包含创建日期和用户的引用审核节点。
我提出的一个解决方案是编写一个AOP方面,它与我的服务层的create方法挂钩。这对于没有级联的实体很好,但是级联的实体呢?它们没有在我的服务层中显式传递,因此我的AOP类不会拦截它们。JPA中是否有类似实体侦听器的概念,或者如何连接到该机制中?
Spring Data Neo4j(SDN)在2.1版中引入了生命周期事件的概念。这也适用于级联实体。
由于SpringDataNeo4J2.2,我们可以使用AuditingEventListener对实体进行审计。SpringData1.5提供了@CreatedDate、@CreatedBy、@LastModifiedDate和@LastModifiedBy注释。您可以按如下方式使用它们:
@NodeEntity
public class Entity {
@GraphId
private Long id;
@CreatedDate
private Long date;
}
确保配置AuditingEventListener:
@Configuration("db")
@EnableNeo4jRepositories(basePackages = { "your.package" })
@EnableTransactionManagement
public class DatabaseSpringConfiguration extends Neo4jConfiguration {
@Bean(destroyMethod = "shutdown")
public EmbeddedGraphDatabase graphDatabaseService() {
return new EmbeddedGraphDatabase("data/neo4j.db");
}
@Bean
public AuditingEventListener auditingEventListener() throws Exception {
return new AuditingEventListener(new IsNewAwareAuditingHandler<Object>(isNewStrategyFactory()));
}
}
我有一个带有spring Boot(v2.3.3)和spring数据的spring web应用程序。我的评估表包含以下列: Id 我的用例是表中名称和地址的任何更改评估应该创建一个新行,版本以相同的id递增。 因此,基本上只有当地址或姓名更新时,才能在评估表中插入新记录。下面是一个示例: 现有记录: 例如,名称已更新为Ryan,应该有两行,如下所示: 因此,基本上,任何名称和地址的变化都应在评估表
我的可见性没有被索引吗?还是我不该这么做?我没有尝试用字符串更改可见性属性,我认为这应该有效,因为我有其他可以成功查询的字符串属性。使用'in'操作符是一个额外的好处! 编辑1:我使用的是spring-data-neo4j2.0.1.release。我试图在单元测试中使用,但是我刚刚意识到在使用默认配置运行服务器时可以工作,但是在单元测试中仍然不能工作。而且,即使在运行服务器时,'IN'子句仍然会
我开始使用Neo4j和Spring Data Neo4j的项目。我希望我的程序使用已经包含我的数据的本地数据库(而不是每次启动时加载数据),因为我有很多数据需要加载到数据库中。为了实现这个目标,我尝试设置一个用我的数据填充数据库的测试用例。但是,在我的测试完成后,数据库中的数据似乎不会持久:我使用neo4j控制台/shell查看数据库,发现它是空的。 我已经构建了一个小的例子项目,也不工作。任何对
问题内容: 我正在为项目使用Spring Data JPA和Spring Boot。 我对对象(创建/更新/删除)有审计要求。我可能还需要获取特定对象的审核修订。我已经在网上检查过Spring Data Envers无法获得修订并且不跟踪删除? 所以我的问题是: 1)我们可以将Hibernate Envers与Spring数据JPA集成吗? 2)我们有本机查询,HQL和Spring数据JPA更新/
Neo4j 2.0。0已发布。所以我更新了neo4j版本2.0。0.M6到2.0。0.0发布。并尝试在我的网站中更新模型,但出现异常。 组织。springframework。刀。DataIntegrityViolationException:唯一属性类java。lang.String rankStatId rel:false idx:true被设置为重复值3073631_99 MY SDN版本是2
我正在使用SDN和嵌入式neo4j。我必须使用bean验证,但它不起作用。null正在数据库中保存,没有任何异常。 依赖是 实体类 控制器是 我使用的是sping-data-neo4j 3.2.0。发布