You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java使用Morphia连接MongoDB时createDatastore废弃的替代方案咨询

Morphia废弃createDatastore方法的替代方案

Morphia 2.0+ 版本已将createDatastore实例方法标记为弃用,官方推荐根据是否需要自定义Mapper选择对应实现:

  • 无需自定义Mapper的场景,直接调用Morphia静态方法传入MongoClient实例和数据库名创建即可:
final Datastore datastore = Morphia.createDatastore(mongoClient, "equity");
// 包映射逻辑调整为从datastore获取mapper后执行
datastore.getMapper().mapPackage("org.mongodb.morphia");
  • 原有逻辑中需要传入自定义Mapper实例的场景,使用DatastoreImpl.create方法替代:
// 自定义mapper实例保持原有构造逻辑不变
final Datastore datastore = DatastoreImpl.create(mongoClient, mapper, "equity");
datastore.getMapper().mapPackage("org.mongodb.morphia");

调整后的完整可运行代码示例:

// MongoClient初始化逻辑保持不变
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
// 替换为新的Datastore创建方式
final Datastore datastore = DatastoreImpl.create(mongoClient, mapper, "equity");
datastore.getMapper().mapPackage("org.mongodb.morphia");

TestData testData = new TestData();
testData.setAvg(new BigDecimal("500.02"));
testData.setDate(Date.valueOf("2021-08-20"));
datastore.save(testData);

以上实现为Morphia官方标注的推荐替代方案,无弃用警告。

内容的提问来源于stack exchange,提问作者Karan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:00:00