Olá pessoal, estou desenvolvendo uma aplicação web utilizando maven, struts2(.xml), JPA(eclipselink) e estou fazendo requisições com JSON (usando a lib org.apache.struts2.json.annotations.JSON) para carregar umas combos porém minhas DAO possuem muitos relacionamentos e todas elas são carregadas pelo JSON. Exemplo:
Ao chamar a action “carregaComboPessoas” gostaria que apenas as pessoas fossem carregadas e talvez o nome da cidade, mas o que ocorre é que o JSON varre a classe Pessoas,
Cidades, estados e assim em diante, já coloque “@JSON(serialize = false)” nos getters dos DAO que não quero serializar mas isto é muito trabalhoso e em alguns casos problematico,
adicionar cidade faz com que o JSON não retorne a cidade mas ele faz a varredura na classe do mesmo jeito fazendo a aplicação ficar muito lenta.
Então, gostaria de saber para quem já fez isto, a melhor maneira de implementar o JSON com struts e resolver este problema.
....
public class Pessoa{
private String name;
private String lastname;
private Cidade cidade;
// getters & setters
}
...
public class Cidade{
private String nome;
private Estado estado;
// getters & setters
}
<action name="carregaComboPessoas" method="loadPessoas" class="com.exemplo.PessoaAction">
<result name="success" type="json">
<param name="callbackParameter">callback</param>
</result>
</action>