Mais prob com JPA

3 respostas
UpTheIrons

Olá pessoal,

Ainda fazendo uma śerie de testes com JPA, as vezes me esbarro em algo q pode ser uma
simples configuração, mas como n descobri ainda, vou postar aqui.

Fiz uma rotina de inserção e busca de dados, insiro 5000 registros a cada loop, e faço a busca,
tudo vai ok, mas qdo ultrapassa os 15000, dá este erro qdo faço a busca.

TopLink Info]: 2009.05.29 09:28:34.832--ServerSession(3916302)--file:/home/arilson/NetBeansProjects/TesteUnitario/src/-TesteUnitarioPU logout successful [TopLink Warning]: 2009.05.29 09:28:34.855--ServerSession(3916302)--Exception [TOPLINK-4005] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException Exception Description: DatabaseAccessor not connected. Exception in thread "AWT-EventQueue-0" Local Exception Stack: Exception [TOPLINK-4005] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException Exception Description: DatabaseAccessor not connected. at oracle.toplink.essentials.exceptions.DatabaseException.databaseAccessorNotConnected(DatabaseException.java:135) at oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:222) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:479) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:452) at oracle.toplink.essentials.threetier.ServerSession.executeCall(ServerSession.java:473) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:214) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:285) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:615) at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2416) at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2394) at oracle.toplink.essentials.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:338) at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:724) at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:628) at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:692) at oracle.toplink.essentials.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:1834) at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:952) at oracle.toplink.essentials.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:101) at oracle.toplink.essentials.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:91) at oracle.toplink.essentials.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:105) at oracle.toplink.essentials.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:175) at oracle.toplink.essentials.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:247) at oracle.toplink.essentials.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:105) at oracle.toplink.essentials.indirection.IndirectList.buildDelegate(IndirectList.java:208) at oracle.toplink.essentials.indirection.IndirectList.getDelegate(IndirectList.java:330) at oracle.toplink.essentials.indirection.IndirectList$1.<init>(IndirectList.java:425) at oracle.toplink.essentials.indirection.IndirectList.iterator(IndirectList.java:424) at testeunitario.frmTeste.btnCarregaTabelaActionPerformed(frmTeste.java:322) at testeunitario.frmTeste.access$100(frmTeste.java:31) at testeunitario.frmTeste$3.actionPerformed(frmTeste.java:118) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6216) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5981) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4583) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 1 minuto 23 segundos)

Por mode q? :smiley:

3 Respostas

agodinho

qual o banco de dados que vc está utilizando?
eu sei que no Oracle, para uma dada transação, há um limite do espaço de trabalho utilizado pelo banco.
é muito comum estourar essa bagaça em inserts muito grandes …

visto a quantidade de linhas que vc está inserindo essa é uma boa possibilidade.

UpTheIrons

Agodinho,

Blz, tô usando o Postgre.
Ele derruba a conexão, as vezes com menos de 15000, as vezes passa dos 20000,
isso me deixou um tikin preocupado.

UpTheIrons

Detalhe é q não é nos inserts, insiro 10.000 (com merge sem problemas e com problemas usando persist,
daí tô usando merge nos testes dpois procuro entender o prob com o persist),
mas este prob está na recuperação dos dados…

Criado 29 de maio de 2009
Ultima resposta 29 de mai. de 2009
Respostas 3
Participantes 2