Spring Data Neo4J @Index(unique = true) 不起作用

2024-01-13

我想让用户节点中的 userName 属性唯一。 我使用了下面的代码,但它不会在 Neo4j 数据库中创建唯一约束。

@Property(name = "name")
@Index(unique = true)
private String usreName;

仅供参考,我正在使用 Neo4j 服务器版本:3.3.6(社区)和 Spring Boot 2。
但如果我自己在 Neo4j 浏览器中创建一个约束,它就可以工作。

CREATE CONSTRAINT ON (user:User) ASSERT user.userName IS UNIQUE

有没有办法强制 Spring Data Neo4J 创建独特的属性,而无需自己在数据库中创建它们?


如果您希望应用程序代码创建约束,则需要配置自动索引管理器。 您可以在文档中找到最合适的选项:https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#reference:indexing:creation https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#reference:indexing:creation

关于这个主题的注释:想想像 Hibernate 的 DDL 支持一样的自动索引创建。它是开发时的好帮手。你不应该使用assert and update但仅在生产环境中validate.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Data Neo4J @Index(unique = true) 不起作用 的相关文章

随机推荐