Enira
Legacy Member
Bon, ik zit dus met een technisch probleempje in verband met database connections en hibernate. Ik gebruik een GlassFish server, met Hibernate om de gegevens weg te schrijven en C3P0 (grappige naam ik weet het) om ervoor te zorgen dat de connectie met mijn MySQL server niet verdwijnt Anders verdwijnt mijn MySQL server na x uur, zelfs opnieuw verbinding maken met if(!session.isConnected()) { ...blah... } helpt niet, dus ik ga er van uit dat ik dit component zeker nodig heb.
Vroeger liet ik in mijn applicatie een session gewoon openstaan. Dit was aangenaam omdat ik zo gebruik kon maken van LazyLoading. Echter wanneer ik begon te experimenteren met enorm veel records (gemiddeld zo'n 4 miljoen per tabel) begon C3P0 steeds meer en meer deadlocks te genereren. Wat ik raar vond want ik voerde enkel een select uit. Ik had gemerkt dat als ik mijn sessies sloot na het lezen van de data dat deze deadlocks niet meer aanwezig waren, maar hierdoor verloor ik alles van lazy loading.
Echter heb ik nooit geleerd wat de beste oplossing is voor dit specifiek probleem. Is er iemand die al zulke ervaring heeft en mij kan zeggen hoe ik correct en concreet mijn database verbinding kan managen/programmeren?
Vroeger liet ik in mijn applicatie een session gewoon openstaan. Dit was aangenaam omdat ik zo gebruik kon maken van LazyLoading. Echter wanneer ik begon te experimenteren met enorm veel records (gemiddeld zo'n 4 miljoen per tabel) begon C3P0 steeds meer en meer deadlocks te genereren. Wat ik raar vond want ik voerde enkel een select uit. Ik had gemerkt dat als ik mijn sessies sloot na het lezen van de data dat deze deadlocks niet meer aanwezig waren, maar hierdoor verloor ik alles van lazy loading.
Echter heb ik nooit geleerd wat de beste oplossing is voor dit specifiek probleem. Is er iemand die al zulke ervaring heeft en mij kan zeggen hoe ik correct en concreet mijn database verbinding kan managen/programmeren?
hibernate best per request zijn, dus zeker geen session met 1 of andere hack openhouden
danke