Mongo Java连接 - 仅插入一次

时间:2018-02-13 17:37:04

标签: spring-mvc

我有一个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);
    }

1 个答案:

答案 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