我的Java应用程序中有与mongodb相关的代码,我可以在Java代码中同一数据库下的两个集合之间切换吗?
@JsonIgnoreProperties(ignoreUnknown = true)
@Document(collection = "collectionA")
@QueryEntity
public class RepreCase {
我想在这里有一个不同的收藏集,而不是这样说 collectionB @Document(collection = "collectionA")
,并通过在同一收藏夹下的两个收藏夹A和B之间切换来返回到同一collectionA
数据库
我可以这样吗? @Document(collection = "collectionA, collectionB")
这是可以实现的吗?预先感谢
答案 0 :(得分:0)
此example应该会帮助
像这样定义您的实体类
@Document(collection = "${EventDataRepository.getCollectionName()}")
public class EventData implements Serializable {
使用“ collectionName”的getter和setter方法定义自定义存储库接口
public interface EventDataRepositoryCustom {
String getCollectionName();
void setCollectionName(String collectionName);
}
通过“ collectionName”实现为自定义存储库提供实现类
public class EventDataRepositoryImpl implements EventDataRepositoryCustom{
private static String collectionName = "myCollection";
@Override
public String getCollectionName() {
return collectionName;
}
@Override
public void setCollectionName(String collectionName) {
this.collectionName = collectionName;
}
}
将EventDataRepositoryImpl添加到存储库接口的扩展列表中,看起来像这样
@Repository
public interface EventDataRepository extends MongoRepository<EventData, String>, EventDataRepositoryImpl {
}
现在在使用MongoRepository的Service类中,设置集合名称,看起来像
@Autowired
EventDataRepository repository ;
repository.setCollectionName("collectionName");