SDN 4 + OGM 1.1.1 @Index(unique = true)不起作用

时间:2015-09-04 01:21:34

标签: java neo4j spring-data-neo4j-4 neo4j-ogm

我之前已经问过这个问题,但看起来不是SDN 4OGM 1.1.1

以下是@NodeEntity

上的代码
@NodeEntity
public class Company {

    @GraphId
    private Long id;

    @Index(unique = true)
    private String name;

    private String description;

以下是repo

@Repository
public interface CompanyRepository extends GraphRepository<Company> {

    Company findByName(String name);

我有一个带方法的单元测试类

@Autowired
private CompanyRepository companyRepository;

@Before
public void setUp() throws Exception {

    companyRepository.deleteAll();

    Company company = new Company();
    company.setName("Westpac");
    company.setDescription("blah");

    companyRepository.save(company);
}

@Test
public void testIndexUnique() throws Exception{

    Company company = new Company();
    company.setName("Westpac");
    company.setDescription("blah blah");

    companyRepository.save(company);
}

@Test实际上已经过去了,这不是我所期待的。由于已Company字段name的{​​{1}}已存在,因此假设失败。

我是否遗漏了任何内容或错误地理解了这个Westpac

谢谢,

1 个答案:

答案 0 :(得分:2)

SDN 4- http://docs.spring.io/spring-data/neo4j/docs/4.0.0.RC2/reference/html/#_index_management_in_spring_data_neo4j_4

中不支持@Index

或OGM- http://neo4j.com/docs/ogm/java/stable/#_indexing

您必须自己设置索引(或通过Neo4jTemplate / Session使用Cypher)