У меня есть два объекта: объект User и Permission, у каждого пользователя есть список разрешений, а у Permission тоже есть список разрешений, что означает его рекурсию. В моем mongoDB у меня есть только коллекция пользователей. у меня есть объект пользователя с двумя уровнями разрешений, и когда я пытаюсь получить объект пользователя из mongoDB, я получаю только первый уровень, а список субразрешений возвращается как нуль.
я пропустил некоторые обозначения? спасибо!
**Результат: от монго
{"sessionId":"admin","status":"OK","userName":"admin","permissions":[{"name":"MPC","link":"#/Release"," subPermissions":null},{"name":"MPC PE","link":"#","subPermissions":null}]}
Объект пользователя в монго
{
"_id" : ObjectId("53f3731c1401dacba49cfb74"),
"userName" : "admin",
"email" : "[email protected]",
"sessionId" : "admin",
"permissions" : [
{
"name" : "MPC",
"link" : "#/Release",
"sub" : []
},
{
"name" : "MPC PE",
"link" : "#",
"sub" : [
{
"name" : "Validate @ Release",
"link" : "#/mpcToPeRelease",
"sub" : []
},
{
"name" : "View Report",
"link" : "#/mpcToPeReport",
"sub" : []
}
]
}
]
}
Класс пользователя в Java
@Document(collection="users")
public class User {
private String id;
private String userName;
private String email;
private String sessionId;
private ArrayList<Permission> permissions;
public String getUserName() {
return userName;
}
public String getSessionId() {
return sessionId;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public ArrayList<Permission> getPermissions() {
return permissions;
}
public void setPermissions(ArrayList<Permission> permissions) {
this.permissions = permissions;
}
}
и класс разрешений в Java:
@Document
public class Permission {
private String name;
private String link;
private ArrayList<Permission> subPermissions;
public String getName() {
return name;
}
public String getLink() {
return link;
}
public ArrayList<Permission> getSubPermissions() {
return subPermissions;
}
public void setName(String name) {
this.name = name;
}
public void setLink(String link) {
this.link = link;
}
public void setSubPermissions(ArrayList<Permission> subPermissions) {
this.subPermissions = subPermissions;
}
}