我是Hibernate OGM的新手。在这里,我使用MongoDB作为我的数据库。我有三个POJO课程和员工和地址和工作。 1. Employee.java
option("multiLine", true)
2。 Address.java
import java.util.ArrayList;
import java.util.List;
import javax.persistence.ElementCollection;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OrderColumn;
import org.bson.types.ObjectId;
@Entity
public class Employee {
private String name;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private ObjectId id;
private String company;
private int empId;
@Embedded
private Address add;
@ElementCollection
private List<String> tech;
@ElementCollection
@OrderColumn(name="CompanyName")
private List<Work> work; // = new ArrayList<Work>();
//setters and getters
public Address getAdd() {
return add;
}
public void setAdd(Address add) {
this.add = add;
}
public List<String> getTech() {
return tech;
}
public void setTech(List<String> tech) {
this.tech = tech;
}
public List<Work> getWork() {
return work;
}
public void setWork(List<Work> work) {
this.work = work;
}
@Override
public String toString() {
return "id=" + id + ", name=" + name + ", company=" + company +","
+ "empId="+empId; //+"work "+work;
}
}
3.Work.java
import javax.persistence.Embeddable;
@Embeddable
public class Address {
private String localAdd;
private String premAdd;
//setters and getters
}
在这里,我将使用以下语句在Mongodb中创建文档
import javax.persistence.Embeddable;
@Embeddable
public class Work {
private String CompanyName;
private String loc;
private double totalexp;
//setters and getters
}
我低于错误
entityManagerFactory = HibernateOGMUtil.getEntityManagerFactory();
em = entityManagerFactory.createEntityManager();
Employee employee = new Employee();
Address address = new Address();
List<String> techLst = new ArrayList<String>();
List<Work> worklst = new ArrayList<Work>();
Work objwork1 = new Work();
techLst.add("Java");
techLst.add("SQL");
techLst.add("JavaScript");
address.setLocalAdd("Mumbai");
address.setPremAdd("Chennai");
objwork1.setCompanyName("XXX");
objwork1.setLoc("Mumbai");
objwork1.setTotalexp(5.2);
worklst.add(objwork1);
employee.setName("XYZ");
employee.setCompany("YYYY");
employee.setEmpId(12346);
employee.setAdd(address);
employee.setTech(techLst);
employee.setWork(worklst);
em.getTransaction().begin();
em.persist(employee);
em.getTransaction().commit();
如果我从Employee中删除Work对象并注释&#34; employee.setWork(worklst)&#34;然后它在mongodb中插入记录。任何人都可以帮我解决这个问题吗?