java - 无法使用存储库上的保存来持久化 Spring 数据 mongodb
问题描述
我正在使用 Spring Data Mongodb 和 Embeded mongoDB 来持久化数据。
Pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
</dependency>
应用程序属性
spring.data.mongodb.port=2019
spring.data.mongodb.database=testdb
spring.data.mongodb.host=localhost
主类:
@SpringBootApplication
@EnableAutoConfiguration
@EnableMongoRepositories(basePackages = { "com.koka.mongotest.repo"})
public class MongotestApplication {
public static void main(String[] args) {
SpringApplication.run(MongotestApplication.class, args);
}
}
实体或域类:
@Document
public class Person
{
@Indexed
private String personId;
private String name;
//getter and setters
}
回购:
@Repository
public interface PersonRepo extends MongoRepository { //No Custom emthod}
服务层:
@Service
public class ServiceImpl {
@Autowired
PresonRepo repo;
public void saveJon(Person p )
{
repo.save(p);
}
}
但是 Int DB 它被保存为
{"_id":{"$oid":"60e18f9d7eb50d70b56b543f"},"_class":"com.koka.mongotest.entity.Person"}
但是那个人对象持有没有被保存的信息。请就此提出建议,
解决方案
推荐阅读
- python-3.x - 尽管我的 CPU 支持 AVX,但 Tensorflow 2.4 仍无法工作
- c - cProgramming:误解引用指向 int 结构和嵌套结构(也是 int)的元素的指针
- vue.js - 带有开关或复选框的 Vuetify 表
- python - 一个程序来判断一个数字是否在 fibonnicio 系列中
- python - 用数字和字母对列表进行排序
- javascript - 弹出模式在 php 输出中不起作用
- flutter - Flutter TextField 在一个填充了先前值的无状态小部件中使用了两次
- ruby-on-rails - 使用 Active Storage 所需的最严格的 IAM(权限和存储桶)策略?
- code-complexity - nx 系列的代码复杂度是多少?
- javascript - 执行条件语句(v-if 和 v-else)