O cenário é o seguinte, tenho um Bean no qual tem duas collections e preciso passar “fetch=FetchType.EAGER” para as duas collections. O Hibernate não suporta dois FetchType.EAGER, que outra solução poderia fazer, já que preciso carregar a coleção dessas duas propriedades em uma mesma página. Valeu…
Não suporta?
Posso ter me expressado errado, mais todas as vezes que eu coloco fetchtype.EAGER em duas coleções do mesmo bean, dá um erro…
@OneToMany(cascade = CascadeType.ALL, mappedBy = "segmentoMercado", fetch=FetchType.EAGER)
private Collection<SegmentoMercadoCnae> cnaeCollection;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "segmentoMercado", fetch=FetchType.EAGER))
private Collection<SegmentoMercadoNivelRestricao> nivelRestricaoCollection;
Se eu tiver enganado, que me corrijam por favor…
A principio isso “deveria” funcionar, mas pode ter erro mesmo.
Qual o erro ocorre ?
17:14:31,943 ERROR [[/FacZ]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
javax.persistence.PersistenceException: org.hibernate.HibernateException: cannot simultaneously fetch multiple bags
17:14:32,819 ERROR [StandardContext] Error listenerStart
17:14:32,819 ERROR [StandardContext] Context [/FacZ] startup failed due to previous errors
17:14:32,819 INFO [[/FacZ]] Shutting down Log4J
Alguém já passou por isso?
eu já, mas é meio engraçado, porque comigo isso começou a acontecer quando eu tinha umas 3 propriedades com eager
a solução que proponho é utilizar SET em vez de LIST que funciona 
abraço
Ps.: ou utilizar lazy loading
Leozin,
Por Default já não é Lazy loading?
E no caso de usar JSF e DATATABLE, como posso usar o SET? Ela não funciona com a dataTable…
Estou com o mesmo erro
o que poderia ser isto???