public class Quiz extends DefaultEntity {
private static final long serialVersionUID = 1L;
@OneToMany(mappedBy = "quiz", fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<GroupQuestions> groupQuestions;
public List<GroupQuestions> getGroupQuestions() {
return groupQuestions;
}
public void setGroupQuestions(List<GroupQuestions> groupQuestions) {
this.groupQuestions = groupQuestions;
}
}
@Entity
@Table(name="Group_Questions")
public class GroupQuestions extends DefaultEntity {
private static final long serialVersionUID = 1L;
@Column(name="text")
private String text;
@Enumerated(EnumType.STRING)
@Column(name = "formation")
private FormationEnum formation;
@OneToMany(mappedBy = "groupQuestions", fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<Question> question;
Metodo do meu controller
@Get
@Path(value = {"/", ""})
public void getQuestionnaires() {
result.use(json())
.withoutRoot()
.from(questionnaires.todosAtivos())
.include("groupQuestions")
.include("question")
.include("answers")
.serialize();
}
Não consigo retornar as listas (question, answers) dentro da lista de groupQuestions para Json
Meu Json esperado
{
"groupQuestions": [{
"text": "Continuidade aos Estudos",
"formation": "GRADUACAO_COMPLETA",
"question": [{
"text": "Está cursando MBA?",
"componentType": "RADIO",
"answers": [{
"text": "sim"
}, {
"text": "nao"
}, {
"text": "talvez"
}]
}]
}]
}
ERRO:
Caused by: java.lang.IllegalArgumentException: Field path ‘question’ doesn’t exists in class br.umc.egressos.model.entities.Quiz
atbr.com.caelum.vraptor.serialization.Serializee.getParentTypes(Serializee.java:145)[vraptor-4.1.4.jar:]
atbr.com.caelum.vraptor.serialization.Serializee.getParentTypesFor(Serializee.java:129)[vraptor-4.1.4.jar:]
atbr.com.caelum.vraptor.serialization.Serializee.includeAll(Serializee.java:118)[vraptor-4.1.4.jar:]
atbr.com.caelum.vraptor.serialization.gson.GsonSerializer.include(GsonSerializer.java:126)[vraptor-4.1.4.jar:]