SDN 4 + OGM 1.1.1 @Index(unique = true) не работает

Я знаю, что этот вопрос уже задавали раньше, но похоже, что не с 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 на самом деле прошло, чего я не ожидаю. Предполагается, что это не удалось, поскольку Company с name полем Westpac уже существует.

Я что-то упускаю или понимаю @Index неправильно.

Спасибо,


person jasonfungsing    schedule 04.09.2015    source источник


Ответы (1)


@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

Вам нужно будет настроить индекс самостоятельно (или использовать Cypher через Neo4jTemplate/Session)

person Luanne    schedule 04.09.2015