1

この質問が以前に尋ねられたことは知っていますが、とではないようSDN 4ですOGM 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が、これは私が期待しているものではありません。CompanywithnameフィールドWestpacが既に存在するため、失敗したと思われます。

私は何かを見逃していますか、それともこれを@Index間違って理解していますか?

ありがとう、

4

1 に答える 1

2

@Index は SDN 4 ではサポートされていません - http://docs.spring.io/spring-data/neo4j/docs/4.0.0.RC2/reference/html/#_index_management_in_spring_data_neo4j_4

または OGM- http://neo4j.com/docs/ogm/java/stable/#_indexing

自分でインデックスを設定する必要があります (または、Neo4jTemplate/Session を介して Cypher を使用します)。

于 2015-09-04T02:58:51.827 に答える