我想让用户节点中的 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(使用前将#替换为@)