如何解决 Java 同名称注解,编译报错的问题?
比如我想给一个实体类同时加上两种 @Document 注解,第一种是针对 mongodb 数据库的,用于指定绑定的表,第二种是针对 elasticsearch 的,用于简单命名。
如果我将这两个包同时导入,并使用 @Document 注解,程序报错,请问如何解决这种情况?
1 个解决方案
报错原因是因为编译器无法识别你要使用的 @Document 注解是哪个包里的,要想实现问题描述中的效果,必须使用全路径。
@org.springframework.data.mongodb.core.mapping.Document(collection="Jobs")
@org.springframework.data.elasticsearch.annotations.Document(indexName="job",type="job")
而一旦使用全路径,前面的 import 语句也就可以省略了。