Bom dia amigos, tenho as seguintes configurações usando o SpringMVC 3.1.1.RELEASE
persistence.xml
<persistence-unit name="appUdJTA" transaction-type="JTA">
<jta-data-source>java:jboss/datasources/PG</jta-data-source>
spring-context.xml
<jee:jndi-lookup jndi-name="java:jboss/datasources/PG" id="dataSource" expected-type="javax.sql.DataSource" />
<jee:jndi-lookup jndi-name="java:comp/env/appUdJTA/EntityManager" id="entityManager" expected-type="javax.persistence.EntityManager" />
<tx:jta-transaction-manager />
<tx:annotation-driven />
web.xml
[code]
<persistence-context-ref>
<persistence-context-ref-name>appUdJTA/EntityManager</persistence-context-ref-name>
<persistence-unit-name>appUdJTA</persistence-unit-name>
</persistence-context-ref>
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping
[code]
dao
@PersistenceContext
private EntityManager entityManager;
o meu problema está relactionado ao mapeamento um para muitos.
Cliente
@OneToMany(mappendBy="cliente",fetch=FetcyType.LAZY,cascade=CascadeType.ALL)
private List><Conta> contas = new ArrayList<Conta>();
no controller Cliente eu faço
Conta conta = new Conta();
conta.addValor(new BigDecimal("15.85));
conta.add ....
Cliente cliente = daoCliente.retornarPorId(1)
cliente.getContas().add(conta);
daoCliente.cadastrar(cliente);
sempre ele me retorna um
LazyInitializationException: failed to lazily initialize a collection of role:
a menos que eu mude a anotação para
@OneToMany(mappendBy=“cliente”,fetch=FetcyType.EAGER,cascade=CascadeType.ALL)
isto está me intrigando, estou usando o servidor de aplicação JBoss e teoricamente
“não era pra lançar um LazyInitializationException”, já que estou usando o filtro OpenEntityManagerInViewFilter no web.xml,
porém não estou encontrando de maneira alguma a solução.
se alguém poder me dar uma luz fico agradecido.