2016-03-10 63 views
1

我正在使用Spring數據Mongodb v1.6.2和Spring 4.2.1。今天我注意到我實體上的@Indexed註釋沒有觸發索引創建。Spring數據MongoDB自動創建索引不起作用

該實體使用org.springframework.data.mongodb.core.mapping.Document註解,並使用theorg.springframework.data.mongodb.core.mapping.Document。

@Document 
public class Entity { 
@Indexed(unique= true) 
private String name; 
} 

回答

2

經過一番調查後,似乎MongoPersistentEntityIndexCreator沒有收到MappingContextEvent。 Spring 4.2改變了ApplicationEvents處理泛型的方式。 https://github.com/spring-projects/spring-data-mongodb/commit/2a27eb74044d6480b228a216c1f93b2b0488c59a 問題跟蹤器可以在這裏找到:https://jira.spring.io/browse/DATAMONGO-1224 這是固定在所有版本,以便升級到1.6.3解決了該問題

春數據的MongoDB在以下提交固定這一點。