【发布时间】:2015-11-03 17:29:35
【问题描述】:
我正在使用 Spring-data-mongodb,我可以将一个对象保存在一个列表中,但是当我尝试添加另一个对象时,它不起作用,应用程序不会抛出异常。
这是我的 Json:
[
{
idUser: "4a9f10d9-e19f-42af-ba00-891a567cc41f",
login: "peter",
password: "mypassword",
email: "peter@eeee.com",
patients:
[
{
idPatient: "d31e8052-36d3-4285-9f97-454f3437812d",
name: "ada",
birthday: 1363474800000,
idUser: "4a9f10d9-e19f-42af-ba00-891a567cc41f",
region:
{
idRegion: "d8acfa45-486e-49e0-b4e6-edde6743cf30",
name: "Madrid"
},
personalCalendars: null
},
null
]
}
]
如您所见,我的第一个 Patient 元素是正确的,第二个是 insert as null。
我留下我的代码:
用户.java
@Document(collection = "users")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String id;
@Indexed
private UUID idUser;
@Indexed(unique = true)
private String login;
private String password;
@Indexed(unique = true)
private String email;
@DBRef
private List<Patient> patients;
@PersistenceConstructor
public User(UUID idUser, String login, String password, String email, List<Patient> patients){
this.idUser = idUser;
this.login = login;
this.password = password;
this.email = email;
this.patients = patients;
}
Patient.java
@Document(collection = "patients")
public class Patient implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String id;
@Indexed
private UUID idPatient;
private String name;
private Date birthday;
private UUID idUser;
private Region region;
@Transient
private List<PersonalCalendar> personalCalendars;
@PersistenceConstructor
public Patient(UUID idPatient, String name, Date birthday,UUID idUser, Region region){
this.idPatient = idPatient;
this.name = name;
this.birthday = birthday;
this.idUser = idUser;
this.region = region;
}
以及我进行插入的 DAO。
@Override
public Patient createPatient(User user, Patient patient) {
this.mongoOps.save(patient , "patients");
this.mongoOps.save(user , "users");
return this.getPatientById(patient.getIdPatient());
}
控制台返回这个,但病人没有坚持:
15:16:16.718 [tomcat-http--6] DEBUG o.s.data.mongodb.core.MongoTemplate - Saving DBObject containing fields: [_class, _id, idPatient, name, birthday, idUser, region]
15:16:16.723 [tomcat-http--6] DEBUG o.s.data.mongodb.core.MongoDbUtils - Getting Mongo Database name=[application]
15:16:16.747 [tomcat-http--6] DEBUG org.mongodb.driver.protocol.insert - Inserting 1 documents into namespace application.patients on connection [connectionId{localValue:2, serverValue:119}] to server 127.0.0.1:27017
15:16:16.761 [tomcat-http--6] DEBUG org.mongodb.driver.protocol.insert - Insert completed
我需要帮助。 非常感谢
【问题讨论】:
-
什么是例外?
-
也不例外,我会用控制台回答更新
-
我只能在集合中添加一个对象,我不知道为什么
标签: java spring mongodb spring-mvc