SDN 4 + OGM 1.1.1 @ Индекс (уникальный = 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
ошибочно.
Спасибо,
1 ответ
Решение
@Index не поддерживается в SDN 4 - http://docs.spring.io/spring-data/neo4j/docs/4.0.0.RC2/reference/html/
или OGM - http://neo4j.com/docs/ogm/java/stable/
Вам нужно будет настроить индекс самостоятельно (или использовать Cypher через Neo4jTemplate/Session)