我有一个Mongo-Java MVC Spring 4连接。我的插入操作只能工作一次,他们不会在集合中进行第二次插入。可能是什么问题?
这是我的代码。
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection="subject")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private int id;
private String name;
private String email;
private String address;
private String telephone;
strong text
...
public class EmployeeDAOImpl implements EmployeeDAO {
MongoTemplate mongoTemplate;
public MongoTemplate getMongoTemplate() {
return mongoTemplate;
}
public void setMongoTemplate(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
@Override
public void addEmployee(Employee employee) {
mongoTemplate.save(employee);;
}
@Override
public List<Employee> getAllEmployees() {
// TODO Auto-generated method stub
return mongoTemplate.findAll(Employee.class);
}
答案 0 :(得分:0)
@GeneratedValue(strategy = GenerationType.SEQUENCE)注释适用于JPA,不适用于Mongo。
确保从mongo包中导入@Id,并且ID应该由Mongo自动生成。
第一次插入是有效的,因为int的默认值为0,第二次尝试使用相同的键插入。
如果您想生成自定义ID,下面是一个很棒的教程:https://www.baeldung.com/spring-boot-mongodb-auto-generated-field