PAGINAÇÃO e EJB(Ajuda)

Olá pessoal é o seguinte, eu to desenvolvendo um caso de uso aqui no estágio que faz uma consulta de todas as dívidas das pessoas e salva em uma tabela. Retorna aproximadamente 370 mil dívidas… se eu fizer um for e pegar as 200 primeiras por exemplo funciona numa boa… seu deixar rolar todas as dívidas da timeOut… se eu fizer a paginação pra retornar de 200 em 200 por exemplo dá problema, só que o problema é na consulta… tá problema de Casting… sendo que ele executa a primeira vez e apartir da segunda da erro! alguem sabe como posso resolver esse problema???

outra coisa que eu esquecir de falar ai em cima, isso é feito automáticamente atráves do agendamento do EJB e sempre é feita essa consulta quando eu reinicio o servidor, o outro problema é que ele executa o agendamento 2 vezes ou seja, ele me retorna esses 200 primeiros, só que faz isso 2 vezes, alguem sabe como posso configurar pra executar uma vez só!?

valeu pessoal!!!

Posta o código do EJB, pra gente dar uma olhada…

[]´s

Esse é o EJB

int ano = Calendar.getInstance().get(Calendar.YEAR);
		int anoMenosSeis = ano - 6;
		int first = 0;
		List<Pessoa> listaPessoas = null;		
		int i = 0;
		int max = 20;

		try {

			do{
				
				listaPessoas = pessoaFacade.buscaPessoaseDividasPInclusaoManualDivAnuidade(ano, anoMenosSeis, first, max);
				
				if(listaPessoas != null & !listaPessoas.isEmpty()){					

					for (Pessoa pessoa : listaPessoas) {
						
						for(FinDivida verificaDivida : pessoa.getListaDividas()){
						
							FinTermosInscricao termoInscricao = new FinTermosInscricao();

							// Verifica se a dívida já possui termo
							FinDividaTermosInscricao verificaSePossuiTermo = finDividaTermosInscricaoFacade.verificaSeDividaPossuiTermo(verificaDivida.getCodigo());

							//Se não tiver cadastrada, irá ser cadastrada
							if(verificaSePossuiTermo == null || verificaSePossuiTermo.equals(null)){

								//Seta os Valores que serão salvos no banco
								termoInscricao.setPessoa(pessoa);	
								termoInscricao.setTipoPessoa(pessoa.getTipoPessoa());
								termoInscricao.setFinNatureza(finNaturezaFacade.getById(6L));
								termoInscricao.setDataInclusao(Calendar.getInstance());
								termoInscricao.setFinFase(finFaseFacade.buscarFasePorCodigo(1l));
								termoInscricao.setFinProcesso(null);
								termoInscricao.setObservacao("INCLUSÃO DE DÍVIDA DE ANUIDADE");
								termoInscricao.setAtivo(true);
								termoInscricao.setNumero(geradorSequenciaOficioDAO.getSequenciaNumeroTermoInscricao("RDA"));

								//Cadastra no banco
								finTermosInscricaoFacade.cadastrar(termoInscricao);							

								for(FinDivida divida : pessoa.getListaDividas()){

									//Busca o termo cadastrado pra cadastrar na tabela Fin_Divida_Termos_Inscricao 
									FinTermosInscricao termo = finTermosInscricaoFacade.buscaTermoInscricao(termoInscricao.getCodigo());

									//Cria uma nova instância e seta os dados na tabela
									FinDividaTermosInscricao dividaTermoInscricao = new FinDividaTermosInscricao();
									dividaTermoInscricao.setFinDivida(divida.getCodigo());					
									dividaTermoInscricao.setFinTermoInscricao(termo.getCodigo());

									//Cadastra os dados na tabela
									finDividaTermosInscricaoFacade.cadastrar(dividaTermoInscricao);

								}
							}else{
								System.out.println("Já existe termo para essa Dívida ");
							}
						}
						i++;
						first++;
												
				}
					log.info("Foram incluidos "+i+" em divida ativa");
				}
				
				
			}while(listaPessoas.size() > 0);
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}

Esse é o DAOImpl

@SuppressWarnings("unchecked")
	public List<Pessoa> buscaPessoaseDividasPInclusaoAutomaticaDivAnuidade(int anoAtual, int anoMenor) {

		List<Pessoa> listaPessoas = new ArrayList<Pessoa>();

		String sql = "select distinct p.CODIGO " +
		" from CORPORATIVO.FIN_DIVIDA div, " +
		" CORPORATIVO.FIN_STATUS_DIVIDA st, " +
		" CORPORATIVO.CAD_PESSOAS p " +
		" where " +
		" div.FK_CODIGO_NATUREZA = 6 and " +
		" div.FK_CODIGO_STATUS_DIVIDA = st.CODIGO and " +
		" st.QUITADO = 0 and  " +
		" div.FK_CODIGO_PESSOA = p.CODIGO and " +
		" p.FK_CODIGO_SITUACAO_REGISTRO NOT IN(2,9,5) and " +
		" extract(year from div.data) < " + anoAtual + " and " +
		" extract(year from div.data) >= " + anoMenor + " and " +
		" NOT EXISTS(select emp.CODIGO from CORPORATIVO.CAD_EMPRESAS emp " +
		" where emp.FK_CODIGO_TIPOS_EMPRESAS = 9 and emp.FK_ID_PESSOAS_JURIDICAS = div.FK_CODIGO_PESSOA) " +
		" order by p.CODIGO";

		Query queryComplete = em.createNativeQuery(sql);

		try {
			List<Object> listaObjetoPessoas = (List<Object>) queryComplete.getResultList();

			for (Object object : listaObjetoPessoas) {

				BigDecimal codigoPessoa = (BigDecimal) object;

				System.out.println("Codigo Pessoa " + codigoPessoa.toString() + " Nº " + contador);

				Query queryDividas = em.createNativeQuery("select div.codigo " +  
						" from CORPORATIVO.FIN_DIVIDA div, " +
						" CORPORATIVO.FIN_STATUS_DIVIDA st, " +
						" CORPORATIVO.CAD_PESSOAS p " +
						" where " +
						" p.CODIGO = :codigoPessoa and " +
						" div.FK_CODIGO_NATUREZA = 6 and " +
						" div.FK_CODIGO_STATUS_DIVIDA = st.CODIGO and " +
						" st.QUITADO = 0 and " +
						" div.FK_CODIGO_PESSOA = p.CODIGO and " +
						" p.FK_CODIGO_SITUACAO_REGISTRO NOT IN(2,9,5) and " +
						" extract(year from div.data) < " + anoAtual + " and " +
						" extract(year from div.data) >= " + anoMenor + " and " +
						" NOT EXISTS(select emp.CODIGO from CORPORATIVO.CAD_EMPRESAS emp " +
						" where emp.FK_CODIGO_TIPOS_EMPRESAS = 9 and emp.FK_ID_PESSOAS_JURIDICAS = div.FK_CODIGO_PESSOA) " +
				" order by div.IDENTIFICADOR_DIVIDA");
				queryDividas.setParameter("codigoPessoa", codigoPessoa.longValue());

				List<FinDivida> listaDividas = new ArrayList<FinDivida>();

				Query query = em.createQuery("from Pessoa p where p.id = :codigoPessoa ");
				query.setParameter("codigoPessoa", codigoPessoa.longValue());

				Pessoa pessoa = (Pessoa) query.getSingleResult();

				List<Object> listaObjetosDivida = queryDividas.getResultList();

				for (Object objectDiv : listaObjetosDivida) {

					BigDecimal codigoDivida = (BigDecimal) objectDiv;

					Query queryDiv = em.createQuery("from FinDivida div where div.codigo = :codigoDivida ");
					queryDiv.setParameter("codigoDivida", codigoDivida.longValue());

					FinDivida divida = (FinDivida) queryDiv.getSingleResult();

					listaDividas.add(divida);
				}

				pessoa.setListaDividas(listaDividas);

				listaPessoas.add(pessoa);
			}   
		}catch (NoResultException e) {
			e.printStackTrace();
		}

		return listaPessoas;
	}

É aqui que da o erro de Cast que eu falei

BigDecimal codigoPessoa = (BigDecimal) object;

o problema é q sem a paginação ele executa normalmente…

Tenta debugar e ver qual é a classe do objeto (se não é BigDecimal).

Acredito eu que esse código está te enganando: na verdade, sem a paginação, ele não executa, mas trava num ponto anterior (quando está executando a query, por exemplo).

[]´s

Vou tentar… mas essa parte de “está enganando” eu não entendi, por que ele salva no banco de dados… ele realmente executa perfeitamente…

mas obrigado mesmo assim!!!

Se estiver em dúvida em relação ao tipo troque a referencia de BigDecimal para Number, me lembro de um caso em que o método efetuava um count, se eu utilizasse uma query o numero vinha como Long, se eu utilizasse uma native query o mesmo numero vinha como Integer, na época não pude parar pra entender direito o problema mas fica ai a dica

Fierodd,
assim do jeito que você falo não funcionou… mas obrigado mesmo assim…

eu consegui resolver mais ou menos… fico meio feio mas fez o que eu queria, o problema é que agora está dando time esse erro:

14:06:10,595 WARN [TransactionImpl] Transaction TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/18, BranchQual=, localId=18] timed out. status=STATUS_ACTIVE
14:06:10,672 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
14:06:10,673 ERROR [JDBCExceptionReporter] Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/18, BranchQual=, localId=18]; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/18, BranchQual=, localId=18])
14:06:10,677 ERROR [STDERR] javax.ejb.EJBTransactionRolledbackException: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
14:06:10,679 ERROR [STDERR] at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:93)
14:06:10,679 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
14:06:10,679 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
14:06:10,679 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,680 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
14:06:10,680 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,680 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
14:06:10,680 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,681 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
14:06:10,681 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
14:06:10,681 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,681 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
14:06:10,681 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,682 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
14:06:10,682 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,682 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:211)
14:06:10,682 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
14:06:10,683 ERROR [STDERR] at $Proxy2081.cadastrar(Unknown Source)
14:06:10,683 ERROR [STDERR] at creacorp.financeiro.facade.FinDividaTermosInscricaoFacadeBean.cadastrar(FinDividaTermosInscricaoFacadeBean.java:28)
14:06:10,683 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor395.invoke(Unknown Source)
14:06:10,683 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:06:10,684 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
14:06:10,684 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
14:06:10,684 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
14:06:10,684 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
14:06:10,684 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,685 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
14:06:10,685 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,685 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
14:06:10,685 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,686 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
14:06:10,686 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
14:06:10,687 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,687 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
14:06:10,687 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,688 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
14:06:10,688 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,688 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
14:06:10,688 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
14:06:10,688 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,689 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
14:06:10,689 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,689 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
14:06:10,689 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,690 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:211)
14:06:10,690 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
14:06:10,690 ERROR [STDERR] at $Proxy2076.cadastrar(Unknown Source)
14:06:10,690 ERROR [STDERR] at creacorp.taskscheduler.InclusaoEmLoteDiatiAmigaveAnuidade.inclusaoLoteDividaAtivaAmigavel(InclusaoEmLoteDiatiAmigaveAnuidade.java:146)
14:06:10,690 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:06:10,691 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
14:06:10,691 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:06:10,691 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
14:06:10,692 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
14:06:10,692 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
14:06:10,692 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
14:06:10,692 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,693 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
14:06:10,693 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,693 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
14:06:10,693 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,693 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
14:06:10,694 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
14:06:10,694 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,694 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
14:06:10,694 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,695 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
14:06:10,695 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,695 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
14:06:10,695 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
14:06:10,696 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,696 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
14:06:10,696 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,696 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
14:06:10,696 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,697 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.callTimeout(StatelessContainer.java:150)
14:06:10,697 ERROR [STDERR] at org.jboss.ejb.txtimer.TimerImpl$TimerTaskImpl.run(TimerImpl.java:524)
14:06:10,697 ERROR [STDERR] at java.util.TimerThread.mainLoop(Timer.java:512)
14:06:10,697 ERROR [STDERR] at java.util.TimerThread.run(Timer.java:462)
14:06:10,699 ERROR [STDERR] Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
14:06:10,700 ERROR [STDERR] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:647)
14:06:10,700 ERROR [STDERR] at org.hibernate.ejb.QueryImpl.executeUpdate(QueryImpl.java:57)
14:06:10,700 ERROR [STDERR] at creacorp.financeiro.dao.FinDividaTermosInscricaoDaoImpl.cadastrar(FinDividaTermosInscricaoDaoImpl.java:66)
14:06:10,700 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor396.invoke(Unknown Source)
14:06:10,701 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:06:10,701 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
14:06:10,701 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
14:06:10,701 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
14:06:10,701 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
14:06:10,702 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,702 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
14:06:10,702 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,702 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
14:06:10,702 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:06:10,703 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
14:06:10,703 ERROR [STDERR] … 76 more
14:06:10,705 ERROR [STDERR] Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
14:06:10,706 ERROR [STDERR] at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
14:06:10,706 ERROR [STDERR] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
14:06:10,706 ERROR [STDERR] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
14:06:10,706 ERROR [STDERR] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
14:06:10,706 ERROR [STDERR] at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:420)
14:06:10,707 ERROR [STDERR] at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
14:06:10,707 ERROR [STDERR] at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:94)
14:06:10,707 ERROR [STDERR] at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
14:06:10,707 ERROR [STDERR] at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:157)
14:06:10,708 ERROR [STDERR] at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1163)
14:06:10,708 ERROR [STDERR] at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:302)
14:06:10,708 ERROR [STDERR] at org.hibernate.ejb.QueryImpl.executeUpdate(QueryImpl.java:48)
14:06:10,708 ERROR [STDERR] … 89 more
14:06:10,710 ERROR [STDERR] Caused by: org.jboss.util.NestedSQLException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/18, BranchQual=, localId=18]; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/18, BranchQual=, localId=18])
14:06:10,710 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
14:06:10,711 ERROR [STDERR] at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:47)
14:06:10,711 ERROR [STDERR] at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
14:06:10,711 ERROR [STDERR] … 96 more
14:06:10,712 ERROR [STDERR] Caused by: javax.resource.ResourceException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/18, BranchQual=, localId=18]
14:06:10,712 ERROR [STDERR] at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:290)
14:06:10,712 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:396)
14:06:10,712 ERROR [STDERR] at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
14:06:10,712 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)

se alguem puder me ajudar…

Em que ponto a transação é ativada? Ele está reclamando que não possui transação ativa (na hora de cadastrar uma dívida).

[]´s

Cara desculpa mais eu não entendi… como assim em que ponto a transação é ativada… é quando eu chamo o método que cadastra no BD!?

Dá uma olhada nesse trecho:

14:06:10,699 ERROR [STDERR] Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
14:06:10,700 ERROR [STDERR] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:647)
14:06:10,700 ERROR [STDERR] at org.hibernate.ejb.QueryImpl.executeUpdate(QueryImpl.java:57)
14:06:10,700 ERROR [STDERR] at creacorp.financeiro.dao.FinDividaTermosInscricaoDaoImpl.cadastrar(FinDividaTermosInscricaoDaoImpl.java:66) //Este método deve estar com transação ativa!
14:06:10,700 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor396.invoke(Unknown Source)
14:06:10,701 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:06:10,701 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585

Os EJBS normalmente controlam esse tipo de coisa pra vc, mas provavelmente naquele ponto a transação não está ativa (a transação é SEMPRE iniciada em código, mesmo que seja o contêiner que a inicia.)

[]´s


public void cadastrar(FinDividaTermosInscricao dividaTermoInscricao){

final String INSERT_SQL = "INSERT INTO FIN_DIVIDA_TERMOS_INSCRICAO (FK_CODIGO_DIVIDA, FK_CODIGO_TERMOS_INSCRICAO)" +
				" values (? , ?)";
		System.out.println("String da Query " + INSERT_SQL);
		Query query = em.createNativeQuery(INSERT_SQL);
		query.setParameter(1, dividaTermoInscricao.getFinDivida().toString());
		query.setParameter(2, dividaTermoInscricao.getFinTermoInscricao().toString());
		query.executeUpdate();
		
		System.out.println("Saiu do dividaTermoInscrição");
	}

esse é o meu método que você falou onde pode estar o erro… o que eu não consigo entender é:

Por que se eu colocar pra fazer somente uma vez com 50 por exemplo ele cadastra e seu colocar de 50 em 50 ele não cadastra!???

ps.: ele faz aproximadamente até o 150 depois da o erro!

se alguem ainda puder me ajudar!

Consegui resolver meu problema, mas fico surreal, deixei a noite todo e não concluiu tudo, fica inviável o método rodar mais de uma noite pra cadastrar tudo, gostaria de saber se alguem tem alguma solução melhor para meu problema, que possa me ajudar!