Erro Hibernate + Ajax+ JSON

estou com um projeto Web, onde estou usando o hibernate como framework de persistência.

No caso, tenho uma relação m - n, entre Disciplina e Curso.

Usando o Hibernate Annotations, mapeei a relação nas classes de modelo.

O erro acontece quando eu devolvo, por ajax, uma List de cursos, digamos…

passo essa lista para um JSONArrayObject, e no javascript pego esse array faço o que tem que ser feito na página.

Quando tento acessar a página e listar, acontece esse erro:

java.lang.StackOverflowError

	java.lang.ref.ReferenceQueue.poll(Unknown Source)

	java.util.WeakHashMap.expungeStaleEntries(Unknown Source)

	java.util.WeakHashMap.size(Unknown Source)

	java.util.WeakHashMap.isEmpty(Unknown Source)

	org.apache.commons.beanutils.ContextClassLoaderLocal.get(ContextClassLoaderLocal.java:71)

	org.apache.commons.beanutils.BeanUtilsBean.getInstance(BeanUtilsBean.java:78)

	org.apache.commons.beanutils.PropertyUtilsBean.getInstance(PropertyUtilsBean.java:101)

	org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(PropertyUtils.java:342)

	net.sf.json.JSONObject.fromBean(JSONObject.java:149)

	net.sf.json.JSONObject.fromObject(JSONObject.java:230)

	net.sf.json.JSONArray.<init>(JSONArray.java:387)

	net.sf.json.JSONArray.fromCollection(JSONArray.java:127)

	net.sf.json.JSONArray.fromObject(JSONArray.java:147)

e fica repetindo o final até que dê o estouro de memória.
Alguém já teve problema semelhante??

hm… acho que já sei a origem do problema:

Tenho dois Lists no relacionamento… um na classe Disciplina e outro na classe Curso, cada um referenciando pra outra classe.

Acho que quando eu listo os cursos, o hibernate também inicializa a lista de disciplia, que inicializa a lista de cursos, e enfim… quando chega pro JSON pegar esses objetos ele fica em ciclo adicionando até acabar a memória.

Queria saber se esse problema alguém resolve??

Cara não sei se é esse caso, mais acho que o teu problema se resolve com o lazy dentro da tag list dos teus hbms, da uma olhada na opção lazy, ok?

Não sei se ainda precisa da solução, mas veja se essas dicas ajudam:

http://www.jroller.com/aalmiray/entry/json_lib_hibernate_tips_and

http://flexjson.sourceforge.net/