Exception ORA-08103: l'objet n'existe plus sur l'utilisation de setfetchsize de Hibernate

Je suis de l'utilisation d'Hibernate. J'ai besoin de récupérer environ 1000000 dossiers et il fera exception délai. Donc je suis en utilisant setfetchsize de 6000 dossiers, de sorte qu'il distribuera l'opération dans de multiples transactions chacun de 6000 dossiers.

Il prendra autour de 21 heures à chercher tous les.

Mais en attendant, la récupération des documents si quelqu'un supprime l'un de l'enregistrement qui a été récupéré puis-je obtenir ORA-08103: object no longer exists.

Maintenant, je veux ignorer que l'objet qui est supprimé lors de la récupération. Comment puis-je faire cela?

Ne connais pas le contexte de ce que vous essayez de faire, mais pourquoi devez-vous utiliser hibernate, et pas directement de sql ou pl/sql appels. Serait beaucoup plus rapide.
Je ne peux pas remplacer Hibernate car il vous en coûtera plus de temps de la consommation de projet.Mon problème est que sur l'exécution de executeQuery oracle va jeter ORA-08103: l'objet n'existe plus exception parce que quelqu'un a supprimé un dossier dont j'ai été chercher de l'aide executeQuery. Maintenant je ne peux pas empêcher quiconque de supprimer une ligne du temps quand je suis aller chercher des dossiers, donc je veux une technique qui va provoquer oracle de ne pas jeter l'exception de l'enregistrement supprimé au lieu de cela Il doit ignorer que d'enregistrer et de procéder à la prochaine.
Pourquoi êtes-vous récupérer un million de lignes dans l'application? Il me semble qu'il y a possibilité de faire un traitement supplémentaire dans la base de données, d'économiser beaucoup de temps.

OriginalL'auteur Barney | 2013-09-11