Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » Teneo: HibernateException when trying to save HibernateResource 
| Teneo: HibernateException when trying to save HibernateResource [message #54446] | 
Fri, 29 September 2006 05:50   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
This is a multi-part message in MIME format. 
--------------090207060603010507090305 
Content-Type: text/plain; charset=ISO-8859-15; format=flowed 
Content-Transfer-Encoding: 7bit 
 
Hi, 
 
I have two HibernateResources with the contents of each Resource being  
build by a query. 
 
When i set a Reference from an object contained in Resource A to an  
object contained in Resource B, trying to save Resource A results in an  
HibernateException with the message "Illegal attempt to associate a  
collection with two open sessions". 
 
Am I missing some option or is this a bug or a not supported feature ? 
 
I've attached the full stack trace and an class diagram showing my test  
model. The classes named First* are contained in Resource A while the  
classes named Second* are contained in Resource B. 
 
If it would be helpful, I can also supply my test-plugin containing the  
EMF model and a junit test case as well. 
 
greetings, 
Hans 
 
--------------090207060603010507090305 
Content-Type: text/plain; 
 name="exception.log" 
Content-Transfer-Encoding: 7bit 
Content-Disposition: inline; 
 filename="exception.log" 
 
org.eclipse.emf.teneo.hibernate.HbStoreException: Exception when saving resource test 
	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:214) 
	at  org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:271) 
	at  de.arcsolutions.remarc.platform.emftest.TwoResourcesLinkTest Case.testTwoResources(TwoResourcesLinkTestCase.java:77) 
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
	at java.lang.reflect.Method.invoke(Unknown Source) 
	at junit.framework.TestCase.runTest(TestCase.java:154) 
	at junit.framework.TestCase.runBare(TestCase.java:127) 
	at junit.framework.TestResult$1.protect(TestResult.java:106) 
	at  junit.framework.TestResult.runProtected(TestResult.java:124) 
	at junit.framework.TestResult.run(TestResult.java:109) 
	at junit.framework.TestCase.run(TestCase.java:118) 
	at junit.framework.TestSuite.runTest(TestSuite.java:208) 
	at junit.framework.TestSuite.run(TestSuite.java:203) 
	at  org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestRefer ence.run(JUnit3TestReference.java:128) 
	at  org.eclipse.jdt.internal.junit.runner.TestExecution.run(Test Execution.java:38) 
	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:460) 
	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:673) 
	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:386) 
	at  org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:58) 
	at  org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24) 
	at  org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78) 
	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92) 
	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68) 
	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400) 
	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177) 
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
	at java.lang.reflect.Method.invoke(Unknown Source) 
	at  org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 ) 
	at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
	at org.eclipse.core.launcher.Main.run(Main.java:977) 
	at org.eclipse.core.launcher.Main.main(Main.java:952) 
Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 
	at  org.hibernate.collection.AbstractPersistentCollection.setCur rentSession(AbstractPersistentCollection.java:410) 
	at  org.hibernate.event.def.OnUpdateVisitor.processCollection(On UpdateVisitor.java:40) 
	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:101) 
	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:61) 
	at  org.hibernate.event.def.AbstractVisitor.processEntityPropert yValues(AbstractVisitor.java:55) 
	at  org.hibernate.event.def.AbstractVisitor.process(AbstractVisi tor.java:123) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:267) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
	at org.hibernate.engine.Cascade.cascade(Cascade.java:223) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.cas cadeOnUpdate(DefaultSaveOrUpdateEventListener.java:331) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:303) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
	at  org.hibernate.event.def.AbstractFlushingEventListener.cascad eOnFlush(AbstractFlushingEventListener.java:130) 
	at  org.hibernate.event.def.AbstractFlushingEventListener.prepar eEntityFlushes(AbstractFlushingEventListener.java:121) 
	at  org.hibernate.event.def.AbstractFlushingEventListener.flushE verythingToExecutions(AbstractFlushingEventListener.java:65) 
	at  org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:26) 
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) 
	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:210) 
	... 34 more 
 
 
--------------090207060603010507090305 
Content-Type: image/jpeg; 
 name="TestModell.jpg" 
Content-Transfer-Encoding: base64 
Content-Disposition: inline; 
 filename="TestModell.jpg" 
 
 /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJ ChQODwwQFxQY 
 GBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoI ChMKChMoGhYa 
 KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCj/wAAR 
 CAEDAtUDASIAAhEBAxEB/8QAHAABAAMBAQEBAQAAAAAAAAAAAAUGBwMECAIB /8QATBAAAQQB 
 AwAFBwkFBgIKAwEAAQACAwQFBhESBxMUIVQVFhciMZPRMkFRVVaSltPUIzdh dbMkM0KBkZQ2 
 dAg0Q1JicZWhsdIlRaKk/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAECAwT/xAAs EQEAAQIDBwME 
 AwEAAAAAAAAAAQJRERKRAxMUIqHh8CFBUgQyYdExccGB/9oADAMBAAIRAxEA PwD6pREQEREB 
 ERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREB ERAREQEREBER 
 AREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER AREQEREBERAR 
 EQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAR EQEREBERAREQ 
 EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQ EREBERAREQER 
 EBERAREQEREBEUfqOzLT09lLVd3CeCrLJG7YHZzWEg7H+IUmcIxSZwjFIIs4 7fnfrq17mD8t 
 O35366te5g/LXHiItLz8TFp6fto6LOO35366te5g/LTt+d+urXuYPy04iLSc TFp6fto6LOO3 
 5366te5g/LTt+d+urXuYPy04iLScTFp6fto6LOO35366te5g/LTt+d+urXuY Py04iLScTFp6 
 fto6LOO35366te5g/LTt+d+urXuYPy04iLScTFp6fto6LOO35366te5g/LTt +d+urXuYPy04 
 iLScTFp6fto6LOO35366te5g/LTt+d+urXuYPy04iLScTFp6fto6LOO35366 te5g/LXp0Vqe 
 /Z1PkcJk5DZETGSRTlrWvG7dy1waACPoO2//AJ792qdtFU4YNUbeK5y4SvyK PzeYpYWqyxff 
 KGveI444YXzyyv2J4sjjDnvOwc4hoOzWuJ7gSIqbXOn4Y4JHXZTHKwyPcyrM 8VWBzml1ghh7 
 OA5kjSZeGxjkB24O26u6yoqLqPpOweIw2auQtvWZscyyGxmjZjjsTQcw+KOY xcHEFj9y0u4t 
 Y959VjiJpusMMb9emZ7LJZurHKSlOyOJ8gBZFLIWBsUruTNo5C1+72Dju5u4 WBFUMD0hYPLN 
 pMbPKJ52V+ckdSyajJJoo5I4+0uiazdwlj4h3FxL2jiHENTA9IWDyzaTGzyi edlfnJHUsmoy 
 SaKOSOPtLoms3cJY+IdxcS9o4hxDUFvRUDUfSngsdjpZMdarWro6p7Irb5Kk LoH2IYO09c6M 
 jqN52kStDmvDXcS7i7Zh+kerYmgF+TCPryQ2ZjZw+UORjDon1WNiG0TS6V7r QAY0E7hoHIvA 
 AX9FUL/STpXHVWz38lLWLmTSdRLTnbO0QhjpOUJZ1jS1krJCC0Hqzz24AuHq drfBirHM2W9J 
 I97o+yRY6y+2wtDS7nXbGZWAB8Z3cwDaSM7+u3cLKiqr+kDTjbM0UduzO2Lg HWK9CxNXLnxs 
 kja2ZjDG5z2yR8WhxLi9jWgucAZDROfZqnSOHzsdeWq3IVWWOpka4GMuG5bu 5rS4A77O2AcN 
 nDuIQTSIiAiIgIiICIiAiIgIiICIiAiIgIihc3qjEYS0yvkbErJCwSyGOvLK yvGSQJJnsaWw 
 x+q715C1vqPO/qu2CaRVCpr/ABBge7ImWrIy1ahkEcMs7II4bMsAmmexhbDG 7qXO5SFrRxf3 
 ng4hJ0k6VZkZKXlKV80T545nR053xwGGTq5utkDCyMMJaXF5Aa17HEhrmkhb 0Vau650/SkvN 
 tXZYo6bJnyzmrN1Dupa50rI5eHCSRoZJvGxznDq393qO2j7HSLim5fB46tXy UljJXeyOjmx1 
 qCSu0xSPbI5j4geLnR8QTsCBI4HaKTYLqiquL1RavQxZd+PrQaTnhNiHJSXg 2RsPAvE0sTmg 
 RxOaNwQ9zwHM5Mb6/BJr/ARQsfJJkmSvmbXZVdibYsuc5j3tIg6rrS0tilIf x4nq3jfdp2C1 
 IqVS6R8NazeUpt7S2rRpV7RtOqzgPfJLJEYA0xj9qHsawMBL3PL4w3nG8Dta 6QsHXdA+SeVs 
 D2Sc43VLItskEteNsfZuq5guNqLuOztnsLWua4uaFvRVp2t8GKsczZb0kj3u j7JFjrL7bC0N 
 LuddsZlYAHxndzANpIzv67d/Xh9VYTM5Ozj8TkIrlmuxkkvUBz2MY9jJGOLw OOz2yNLTv62z 
 +O/B/EJpERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER AREQFE6v/wCE 
 83/yM/8ATcpZROr/APhPN/8AIz/03LNf2yxtPsn+kL2P+CjrGPbNqClE+jTu A1Z3dXaOzRs+ 
 Ebj1Xd/f9HzlXTsf8FBZ/BWLWSo2oKGOvRwwzRvhuyFgBe6Mhw/Zv7xwI9g9 q8+12OanBNlR 
 kqxRE2NZX1BSYzG0KPOrOf7Id+ez4fleo32b93t9pWe9K0xqdIGgaVizl4sX c7f2qDGPsiSb 
 hEws9Wv67tnd/d7Bv8261TFYC1FnIrkmLxOPhjrSxEUpS90jnOjI3/ZM7gGH 6fauuY0ZSyuq 
 dP56xLZbcwnaOzsjc0Rv65gY7mCCTsB3bEd/0psdllhraU5qsWX2bNWrrPo7 oUHZ9ta95R4N 
 s2p4uXCPkevinaZJO/fhyLePcRuNgoat0s2H6b09mreBp0qWdsPr1rE+ReII CwvaevkEB6sl 
 zRx2DgRyLi0MO+05jRlLK6p0/nrEtltzCdo7OyNzRG/rmBjuYIJOwHdsR3/S oGj0UY7H6QxW 
 ncfls1Wp4/r2te2WJ/aGTF5kjmjfGYZWnmduUZI2GxHfv1yQ57uPdn+Mz+a1 T0gUMBeoR4/D 
 28AMpJHWyR67cyta17Z4PaOTdmhjgHMeXOO56sefo66qlj9d57LXM1cj09mc jFEx+SsShteF 
 gIZ1b5ODyAXbF3fvsd+4Eabpfopwel7+FuYR92vLjaD8cd5Q8WoXvMpEvJp7 +sLn7s4d52+T 
 s0e/EdHuJxuM1Jj/AO02qeoLlm5djnkHtnaGyMaWhpDdh3d+439quQ3bIKXT HXmx2RnOHjtW 
 K2GZmWQ4u8LezS8MdFMeDTE9hc1zhs7i3kfmAPPL9Iubt43BWcBQw5gv5ypj u1w5IWIphK1s 
 nVj9mHxO23a/rIw5gILWuLt2apjejGCjiJcd5x6mlh7BHjqzheEBpxx/JdEI Wsbz7m+u8OJD 
 eJJaXA+AdC+C/ts77eRdlrWSgyzskDDHKyxDv1bmsZGIf8Um+8Z5GRxO52IZ IXdxZT9J46fX 
 dzWlnLZPLVnUsvYw9RmOvS1WV44QNpA1jgHSEvJJfyG4AAAGy/mnr+Qoa66S obFufIQ4qHG9 
 U25abFFHyrkySOOwZG3/ABvLW+wEhpOzTot3o3ruvZaxhs3msC3LetdgxkkL Y5JSCHTND43m 
 ORwI3cwtJLQT3jdeW90RYC/DqmK3JkZYtRQ1YbIfZLnR9mZxicx5BcXDYOJe X8iO/cEgsibt 
 mnpkrNwmWuvwsjn0LFOJ8kb5uzCGy3kyd73QtlawAH/sjuSzjy5gjrkOld9K ajXlw2Pjktw2 
 ZoLc2ZjbQtdU8tDYLTWOa5ztj3SCLidge9w30at0V14LuYyDdR6i8rZSarPN eZPDFI11cFrA 
 GxxNjc0tcWuY9rmkbd2/eotvQZgosJaxVTJ5qrTu9cbsUckJitGRzXcjC6Iw xubwaGuiYwtA 
 Hf3BN3BuqbLPVrumrRSyV5K73sDnQyFpdGSO9ruJLdx7DsSPoJVf0mzq+lzK t+iCP+mr9i8J 
 WxWMp4+hF1VOpCyvDHyLuDGNDWjckk7ADvJ3WbW8vX0z0lamyl2K1LXp1I5H sqwulkcOrHyW 
 jvPt9vsHtJABKzFGFUMxRlqifP4aNqfDT5VuOnoW4qmRxtrtdWSaEzRczFJC 4PYHMLhwmfts 
 5uzuJ7wC01/MaIyOTjutmzsTnZfHjGZd76O5khDpjtX4vaISBYlaC8S9wj35 Fri/5w11/wBK 
 LUV3INZpGlDiaMTw7lZYJppgD7HA+q0Ebbgbn6HLTein/pEVdUGGjqHB5Cpk Xg8ZsdVltwzF 
 o3OzGB0jT3ju2d/EhdnoX3UHR15X0qcN5U6ne7lLnXdn5f8AXGXGcePIfI7Z vvv63V+wcu7j 
 mujd+az9PL38jRfbhtUrrpjjGumbJA+Iuihke9zoa7+rc7q2+sHyOcXuBcx0 35+YjwepPw5k 
 fyE8/MR4PUn4cyP5CCK0/wBHXkjSow3lTrtruLudd2fj/wBTZTZx48j8vse+ +/q9Z7Dx72n+ 
 jryRpUYbyp1213F3Ou7Px/6mymzjx5H5fY999/V6z2Hj3yvn5iPB6k/DmR/I Tz8xHg9SfhzI 
 /kIM/wAXofUeTkxkEjrOIpYKlHUx3lKtXk2bFapzxcmwWHmR21QtkcXxA7s4 MHrq16g0He1Q 
 yF2pspjbUsEMsTGQ4xzIH7z1J2CWN8z+bQ+ps5vIc2yEAtI3Mr5+YjwepPw5 kfyE8/MR4PUn 
 4cyP5CCv+i6PyVdqx28bSdcxmRx72Y3FMq12OtNrt6xkbXb+qK4JDnOLi4+s 1oa0ddR9GcGX 
 zlzLOfiLVma1JMyDL4sXa8bHwVYnDq+sYTJvUYQ/kNg97eJ3BE35+YjwepPw 5kfyE8/MR4PU 
 n4cyP5CDyVdBx1cVboQX9opsnj8gw9mYzg2o2o0R8WcW+t2T2ta0N59zdm7G b0Thp9O6Rw+F 
 tW4rkmOqsqCeOEwh7GDiw8C52x4gb9/edz3b7CP8/MR4PUn4cyP5CefmI8Hq T8OZH8hBakVV 
 8/MR4PUn4cyP5CefmI8HqT8OZH8hBakVV8/MR4PUn4cyP5CefmI8HqT8OZH8 hBakVV8/MR4P 
 Un4cyP5CefmI8HqT8OZH8hBakVV8/MR4PUn4cyP5CefmI8HqT8OZH8hBakVV 8/MR4PUn4cyP 
 5CefmI8HqT8OZH8hBakVV8/MR4PUn4cyP5CefmI8HqT8OZH8hBakVV8/MR4P Un4cyP5CefmI 
 8HqT8OZH8hBakVV8/MR4PUn4cyP5CefmI8HqT8OZH8hBalRdZ9HlTUufGUkZ iHySVY6cxyOK 
 jvPjjY+RwdXLyGxSftX7lzZGnZm7fVIdIefmI8HqT8OZH8hPPzEeD1J+HMj+ QgrV7olqWr0t 
 mSTEWpLD5xM/I4eO2+KOS3YsDs/N3GOQdpe0uc2RruDCWDYtMhkOjrteOvVf KnDtVLN0+XZ9 
 +PlGw2blty7+r48dv8W++7fYpXz8xHg9SfhzI/kJ5+YjwepPw5kfyEFayHRL UtSZ0QyYiu3J 
 MvltsYeN19sltsof1lgu3fG0zP2a1rHbNY0vIDudgzWj572t6Oo6uSigkrPq kwSVjIHsiZdY 
 8bh7di5t07Hv4lgOzt9h18/MR4PUn4cyP5CefmI8HqT8OZH8hB5HaKtSYSxp t+Z4aTdSkoQ1 
 IaoFlkL4jGI3Tuc4OaxrvV2ja/1I+T37P5q+jb02pqOoM1lq1jJVpo3EVKTo IXxRwW42M4ul 
 eQ7ldkcXciCGtAaO9x9fn5iPB6k/DmR/ITz8xHg9SfhzI/kIIRnRxPHLnA3M RGtlGO5wupk+ 
 v2+xba1/7TZ8JFl8Ukew6xu/rM3IUfi+iGPH3GTw5OtE0XRdMFXGsrwtd12P lLGMY4Brd8eQ 
 PadpQXF7mlz7X5+YjwepPw5kfyE8/MR4PUn4cyP5CCE1H0ZwZfOXMs5+ItWZ rUkzIMvixdrx 
 sfBVicOr6xhMm9RhD+Q2D3t4ncEWXSGmo9NR5GKCx10VqaKVg6lkXVtjqwVw 3ZgDf+w5eq1o 
 HLYNAC8vn5iPB6k/DmR/ITz8xHg9SfhzI/kILUiyHKatrzxu0zOzMWI7T4pK di9ibVcljZ4+ 
 ccpljaDsHDZ/zggO9bYv9HkCh4Gr7pvwXGvazTVhEPPtNtNFWWIxasiyGTFY 1k5hGNbJI1oe 
 4Q0nSbAkgb8WnbfY/wCi/sOJxs0r4hjo2SMAc5ktQxnY77HZzRuPVP8AouXE +uGEY/2m92mG 
 bJ6efhrqLE8tLpTD2W18vbwVCdzBI2O1LFE4tJI5AOIO24I3/gV6a1bT9qzF XqnFTTy1xbjj 
 jMbnPhJ2EoA7ywnu5exb31Xx69k4iv49ezY0WU+QKHgavum/BebI4/C4ynJb yUeOqVI9uc04 
 ZGxu5AG7jsBuSB/mpv6vj17JxFXx69mvosXw7dM5rrvI02GyHU7dZ2R8UvDf fblx3232O2/0 
 FSXkCh4Gr7pvwTfVfHr2OIq+PXs1ZFjmJrafzFZ1jEHFX4GvMbpKpjlaHAA8 SW7jfYg7fxC9 
 vkCh4Gr7pvwTf1fHr2OIq+PXs1ZFlPkCh4Gr7pvwTyBQ8DV9034Jv6vj17HE VfHr2asiynyB 
 Q8DV9034J5AoeBq+6b8E39Xx69jiKvj17NWRZB5PwvlHyf1eO7f1XX9m2Z1v V78efH28d+7f 
 2brxV5dKWcqcZXt4KXJB7ozUZLE6YObvybwB33Gx3G3dsVd9V8evZeIr+PXs 2xFkGOx+FydO 
 O3jY8dbqSb8JoAyRjtiQdnDcHYgj/JenyBQ8DV9034Kb+r49eycRV8evZqyL KfIFDwNX3Tfg 
 nkCh4Gr7pvwTf1fHr2OIq+PXs1ZFQehjI2rulnRW5XSivIY4y87kN3Ozd/oG 3d9A7vZsr8vR 
 TOMYvVTOaIkREVUREQEREBERAREQF58jUjyGPtU5i4RWInQvLTsQHAg7fx71 6ESYx9EmMfSW 
 dWcZ0iRzvbDn6ssQPqv7LE3kPp227lz8n9JH11V/28XwWkos5I8mWckfnWWb eT+kj66q/wC3 
 i+CeT+kj66q/7eL4LSUTJHkyZI/Oss28n9JH11V/28XwTyf0kfXVX/bxfBaS iZI8mTJH51lm 
 3k/pI+uqv+3i+CeT+kj66q/7eL4LSUTJHkyZI/Oss28n9JH11V/28XwTyf0k fXVX/bxfBaSi 
 ZI8mTJH51lm3k/pI+uqv+3i+CeT+kj66q/7eL4LSUTJHkyZI/Oss28n9JH11 V/28XwTyf0kf 
 XVX/AG8XwWkomSPJkyR+dZZt5P6SPrqr/t4vgu2kNM56nq6fM52eGzLPGGPk YGt9jdh3Du9m 
 w7loaJFMR6rFEROLOtb9DWjNYXWXb+NFW+JBI+xTDWOl79yHtLS12/zkjf8A irZpfS+F0tS7 
 LgsfDUj2Ac5o3e/buHJ53c7b5tz3KD6Tuw9Xpzy92bze8pnyn23j2Xquy2OH X8vU49d1O3Lu 
 58Nu/ZOj7JUaGkG9qu1q1Rs2Rs1eslaxgx8duTq5I9zt1DYnQ8XD1AxzNu4h aaXVFStPUux9 
 KeqibNmw+fGY6Zzp5OXHee8AxoGwa1rQ0AADfbkd3Oc43VAREQEREBERAREQ EREBERAREQER 
 EBERAREQEREBERAREQEREBERAREQEREBEVaoaXNTXuT1N26V7r1VlR1Yul4M ZHsWEAyFm+5l 
 J2YPljjxPWOlDyZnDilh57FmY28nat1BPZc3juBYj4sY3c8WN3Ozdz7SSSSS fT2P+CkNVDfF 
 xD6btMf/AOmNSPZ2rlNONXn5caqM1c/1H+qOHCrqS6w2L8G9Suf7LWM2/rze 31Hbf+3z+1f2 
 iBb1Ff2mtzcatf1rUHVOG75u4Dg3u/jt9PerFdwBnyT7tbKXqUskTIXtgbEW uDC8tPrsd3+u 
 72L94zBdiuWbU1+3dnnjjiLrAjHFrC8gAMY0e17vbuuMbCc+LtPrRlYvmI8n F/0imtw1Onbs 
 eaoLmW7Tq7Q3tZ3Ic2OQk77d23znv7tj5NZZXJ4zpAzhYynWu1dBz5AOjhjl dFO2V3cJXMD3 
 MBHyTs07bloK3vyNQ8qeUux1vKPU9n7V1Tet6rly6vntvx5d+2+2/euVrT2J uWprNvG0p7M1 
 Y05ZZYGue+AncxOJG5YSdy0938F6MjnkfNuW1Fq7H4PBZDy7ct0rGnxl7zqM dKS/Ue9rNpTW 
 cxvOq1x29XZw3kLn7NaFVdbTWMlhOlq8/NWMlWFTBvhcYxHE9kzmStLGEco2 jk7i3ffZ5583 
 esvrLI6N05k6tOtksFibdakzq6sU9OORkDdgOLAQQ0bNaNht7B9C65PSuDys 0suUw+Ouyywi 
 vI+zVZI58QeHiMlwO7Q8B23s3G/tTKsUYMFyN7JY7pM1bmMrVp0M1idHvlp0 45nWobcbZHyG 
 brOMZaGva1hYQCdyQdhuohmW1Rl9HZ2DL3rApW9GOyvKy+iLJm47uMUcXrCu 9pLd3s5DbYFr 
 l9N2MNQs3ql2xTrS3KnPs08kTXSQ8xs7g4jdu47jt7QvBjtG6cxlW5WxuCxN StdZ1dqKCnHG 
 yduxHF4AAcNnOGx39p+lMqZHzdBndTUcVp3BYS5cDIdEx5hs0QpsLZTs1pmf OAwQRgAers/Y 
 7ku7yLnhcvns10l4HGWMn2OpLpevmrFeg2CSKWczBrmiQteTGQdvVd7ACHfO deyOjdOZOrTr 
 ZLBYm3WpM6urFPTjkZA3YDiwEENGzWjYbewfQvf5GoeVPKXY63lHqez9q6pv W9Vy5dXz2348 
 u/bfbfvTIZIfO3RZqzVmoclpK7kJd8fm+39oisPpxxfs3OMfY2NcLDuPHi/m Hdx3/wDEOXRl 
 rDU+Rs9HD8xk470WpWZOOeI1WR8OzkljwWgHnuCCe5vHYceQLz9CUNK4PH5S xkqGHx1XI2eX 
 X2oKrGSy8ncncngbu3cATue8jdKmlcHS7B2PD46v5P6zsfVVWM7N1n951ew9 Tlud9tt/nTJB 
 kizBNLarzdjo6g1ne1LS7Zao5S1HhLNeIRyugMhYIOJbLswRjlyMm7SfYdnL npjVmrIMZev5 
 GXtMA0ic5G3IvpiU2Wt5co4q7g/s7gfa9u+7dt2nuO/0NK4PH5SxkqGHx1XI 2eXX2oKrGSy8 
 ncncngbu3cATue8jdMJpXB4HrvIeHx2N6/j1vY6rIes477cuIG+2523+kpkg yRZ8wYuzl8pq 
 i9ZjycmSzk3RwbDHVYwyxFPIWyNj2j29fk8FuzWni5ncT6ztQ6PK+mj0XaGd cOH6h0NXsvWm 
 Lj27j39Xv3ddz6z2ety5fPutPxmlcHipopcXh8dSlihNeN9aqyNzIi8vMYLQ Nml5LtvZud/a 
 uVbRunKuYOWrYLEw5UvfIbkdONsxc/fk7mBy3O53O/fufpSacSaMXzn0b5O7 V6Jej7E4W1Yj 
 y+XmuMrV64iYZBHO90j3zSskYyNjORIEbnuJYG7bO38kGvtX5DR+BzL73Gqc RZs5A4hlaS9E 
 +Od0TbMlabfnD6jd+r4AEyEuaA0L6Xm0bpyfDwYmbBYmTFQPMkVN9OMwxuO/ rNZtxB9Z3eB/ 
 iP0rlY0LpazRqUrGnMLLTqc+zQSUYnRw8zu7g0t2bue87e0plhckWYLgdbZu fVWOlyedjlwm 
 SykdShcxlSKfH2GuiB6iVm/aK05LmEc3u2cXAt4NJO79j/gvb5q4Py55a8j4 7yx47srOv+Tw 
 /vNuXyfV9vs7vYpTs7VJoZnZxLC9KZjIaf0Y7K4ujfuyV7LuUMEkIikBdt1b xJI0kuOwYWBz 
 g75iCWuuOndYZzJ3r16XSOo3NikdVZTjmotEABB3kD7LXGR3qnvAAaRx3BLn eXoVoVrWH7TY 
 iEk1Ww90JcTsxx3Bdx9nLbcA7bgEgbbnfSW0Kzck7INiDbb4hC+RpI5sB3Ac PYdjvsT3jc7b 
 bnfVH2w1s/sj+lf86Mv9hNSe/wAd+qTzoy/2E1J7/HfqlakWm1V86Mv9hNSe /wAd+qTzoy/2 
 E1J7/HfqlakQVXzoy/2E1J7/AB36pdsRqiS7nYsTfwGWxFqatLahNx1Z7ZGR uja/YwzSbEGZ 
 nt2337vYrIqrkv3p6e/kuT/r0EFqREQEREBERAREQEREBERAREQEREBERARE QEREBERAREQE 
 REBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQe fI0a2SozU70L 
 Zq0zeL2O+cf/ACD84I7we8LP3dEeGLjxtWw3fuBcSdv9VpCKTTE/zDM00z/M M29EWI8Xa+8f 
 inoixHi7X3j8VpKKZKbJu6LQzb0RYjxdr7x+KeiLEeLtfePxWkomSmxu6LQz b0RYjxdr7x+K 
 eiLEeLtfePxWkomSmxu6LQzb0RYjxdr7x+KeiLEeLtfePxWkomSmxu6LQzb0 RYjxdr7x+Kei 
 LEeLtfePxWkomSmxu6LQzb0RYjxdr7x+KeiLEeLtfePxWkomSmxu6LQzb0RY jxdr7x+KeiLE 
 eLtfePxWkomSmxu6LQzb0RYjxdr7x+KeiLEeLtfePxWkomSmxu6LQzb0RYjx dr7x+KeiLEeL 
 tfePxWkomSmxu6LQzb0RYjxdr7x+KeiLEeLtfePxWkomSmxu6LQgdI6ag0zU mrVZnyRSO5+u 
 O8Hv37/81PIi02IiICIiAqrkv3p6e/kuT/r0FalVcl+9PT38lyf9eggtSIiA iIgIiICIiAiI 
 gIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiI gIiICIiAiIgI 
 iICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgI iICquS/enp7+ 
 S5P+vQVqVVyX709PfyXJ/wBeggtSIiAiIgIiICIiAiIgIiICIiAiIgIiICIi AiIgIiICIiAi 
 IgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAi IgIiICIiAiIg 
 IiICIiAiIgIiICIiAiIgIiICIiAiIgIiICquS/enp7+S5P8Ar0FalVcl+9PT 38lyf9eggtSI 
 iAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICI iAiIgIiICIiA 
 iIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiA iIgIiICIiAiI 
 gIiICquS/enp7+S5P+vQVqVVyX709PfyXJ/16CC1IiICIiAiIgIiICIiAiIg IiICIiAiIgIi 
 ICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIi ICIiAiIgIiIC 
 IiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgKq5L96env5Lk/6 9BWpVXJfvT09 
 /Jcn/XoILUiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiA iIgIiICIiAiI 
 gIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiI gIiICIiAiIgI 
 iICIiAiIgIiICIiAqrkv3p6e/kuT/r0FalVcl+9PT38lyf8AXoILUiIgIiIC IiAiIgIiICIi 
 AiIgIiICIiAiIgIiICIiAiKv611ZjdH4qK9ln7NmmFeFnWxRdZIWudtzleyN vqsed3OaDtsN 
 3EAhYEWYO6YMNG6a6+SJ2JfVqGrtLDG+SxJLcZLGZXyCDZopu2dzDXcTxc/k wH1elrDTQQSY 
 vG5fKGVld/8AY2QuY0zWZKrWmV0gjJE0ZZ3PIduHML2BzmhoqLOsx0waYxDq 7b8ksMjmPksx 
 yywRPqBkr4n8mvkBlLZIZmkQCUnq+4Hkzly1X0nuxmm83fpYHJc63bq9GxY6 gwWbNYS8xs2b 
 rA0CCZ5Lg3dsZA3cWNcGlIqgzM5/NXbrcDDRoNxb44bVbKRl8k8zoY5zEHxS FsQDZWNMm0u7 
 i7ZmzAZOOV6RcbjIb1q1QyXk2t2tkd1rYjHZmrMlfNDG3n1gcBBON3tawmM7 OO7eQXVFQLmv 
 7jNTafwzNOZKtbuXWxW4bRrl0MD4LD45A5k5b3uryHYFx4wybtBdHz4xdKuG vXpsfTdLBejt 
 V4hHKIZXvY+3DXcXRMm5wkGZgLZhG9vLfg4sewBoqKgQ9KeJbgostlMfksTU s0mX6RumuO1x 
 OdEwFrmSubH608APWmMDrASQGvLeuA6TsNn7WPq4qtetWrb5oyyv1M7IDEYC /rJY5HRbBliN 
 +7Xke1m/WbRkL0iquHymcZqpuKzTsbY6+k+6RQie3sGz2NZFI9zj1vPlJxfx i37PIQ32hlqQ 
 EREBERAREQEREBERARFH57KwYXGPu2WSyND44Y4ogC+WWR7Y4427kAFz3taC 4ho33JA3ICQR 
 VWTWLmdnrt07m35ebrXeTOMDJmxx9Xzk5ulELmjroRuyRx3fttu14bHxdJVC y2axjsRl7uLY 
 +vC3IRCBsUktiKGSCNrXytk3f2iFoJYGhz/WLWhzgF6RZhW6XKGP0jpjKaqq y0Z8pj47s7us 
 gijjaQOT2B8vKUe1wji6yQNLOTQ5zQ6Qj6SK8UmSbNjclZr43r5712CKGOGp Ay1Zh5Oa6YyP 
 2FWQng1xcG7hoLgwBf0VAf0t6Vizt/GWLfVdi7SJJ+sifu6u17pm9Sx5nbxE UvrOja08PVJ5 
 M5QmoukjMwaijxdTHy4lxfUjkbexU16eMyxX5HcY60u0oIqw7GNzg3k/kd2k NDWkWYO6TWYN 
 03nLLFLGKtR8DhSdi3zTTS3A5pZblAiAjqgjrHt32OxPNjV6vS1hpoIJMXjc vlDKyu/+xshc 
 xpmsyVWtMrpBGSJoyzueQ7cOYXsDnNDRUWdZjpg0xiHV235JYZHMfJZjllgi fUDJXxP5NfID 
 KWyQzNIgEpPV9wPJnLlqvpPdjNN5u/SwOS51u3V6Nix1Bgs2awl5jZs3WBoE EzyXBu7YyBu4 
 sa4NKRVVuta/nJXwj8XkmXXwxzTNPUudWDyAOUbZDI9oc5rXSxtfE0k7vHB/ Fh8pnGaqbis0 
 7G2OvpPukUInt7Bs9jWRSPc49bz5ScX8Yt+zyEN9oYFqREQEREBERAREQERE BERAREQEREBE 
 RAREQEREBERAREQEULhNUYjN2n18dYlfIGGWMyV5YmWIwQDJC97Q2aP1m+vG XN9dh39Zu/qz 
 OZx2FjqvyluKs21aipQB575ZpHBrGNA7yST/AJAEnYAkBIKq5L96env5Lk/6 9BWpVXJfvT09 
 /Jcn/XoILUiIgIiICidX92k80R4Kf+m5SyidX/8ACeb/AORn/puWa/tljafZ LP8AyBQ8DV90 
 34LjYxGNg6sPoQudI7gxsdXrHOOxPcGgn2An/JXXsf8ABRWaZ2W5h3mSeLe2 4c4IuseP2Evs 
 bxdv/oV4q9nhTjEPLR9PTNWEwrgxmN62ON+M6p0h4sMtB8YJ2J23c0DfYE/5 JkcfhcZTkt5K 
 PHVKke3OacMjY3cgDdx2A3JA/wA1YMhKLGRw0YtZKblad6tqoYm/3EveD1be /wDhv9Pcq/0u 
 aZjzeAx8UeZr4bLwZGGziZ7DmCOS43l1cZDgeXLd3cATv37O2LTNls833Q1t PpqImIphzxNb 
 T+YrOsYg4q/A15jdJVMcrQ4AHiS3cb7EHb+IXt8gUPA1fdN+CzfK61y+G0d0 iWLWHxeM1zhH 
 1YrlupGHw2WzPDYJQSeRLY3Ehr99vV3HeWDrntWas07pLpCsTy/tsV2LsBvv pyXIevLWP66O 
 s4sbsTyZyaN9+/kO4ddxFmOGizQ/IFDwNX3TfgnkCh4Gr7pvwVU1lk8vpyWl iaerYsjYv6gx 
 +Okc6vX7bjop2uLg7iOrJdw3aXRDYOd8ruIgptYan8kw16+TjF2HXh032uaq x5mr95HWsaGt 
 J7wCWcCQ0bEHcpuIOGizSPIFDwNX3TfgoW3d0dT5dryOn4OMr4D1s8LdpGbc 2d5+U3k3ce0b 
 jf2qreeOofI3Yu3/ANp8+vNjyh1EfX9m5b89uPV9Zt6u/Dbb/Dv3rz6LHaui PpfsizXt8sjm 
 H9orDaKXeu082Dk71T7R6x7iO8+1NxFjhqfeF5w7dM5rrvI02GyHU7dZ2R8U vDffblx3232O 
 2/0FSXkCh4Gr7pvwVKymZyen+h/o18imRtjKvxWOe6FkbpgySEFwi6z9mHnj xBfu3vO+3tEZ 
 LqPW4o1oe0xTSQ5q7Xnr07VB+XmqRMDwGxjnC6WMOdzja0P9WMADkXJuIOGi zSPIFDwNX3Tf 
 gomvLpSzlTjK9vBS5IPdGajJYnTBzd+TeAO+42O427tisxoZLLak1BNexmoc pk55NCW7VbqK 
 orOdP1roS1sTeRa/nG0ksduXsHF3Diwaj0eV9NHou0M64cP1DoavZetMXHt3 Hv6vfu67n1ns 
 9bly+fdNxEexw9Mez1Y7H4XJ047eNjx1upJvwmgDJGO2JB2cNwdiCP8AJeny BQ8DV9034LKu 
 jfJ3avRL0fYnC2rEeXy81xlavXETDII53uke+aVkjGRsZyJAjc9xLA3bZ2/k g19q/IaPwOZf 
 e41TiLNnIHEMrSXonxzuibZkrTb84fUbv1fAAmQlzQGhNxBw0WbB5AoeBq+6 b8E8gUPA1fdN 
 +CzfA62zc+qsdLk87HLhMllI6lC5jKkU+PsNdED1ErN+0VpyXMI5vds4uBbw aSd37H/BSdjE 
 eyT9PEeypdHtmalr3K4qB3Cg6OOTqANmNdw35NHzE/P9Pz+wK/6hwseahq/2 qzSt1Ju0Vbdb 
 gZIJODoyQHtcw7skkbs5pGziRsQCMuF61hekHUdyhi7GVtV6kb46VdzWyTHq x3AuO3z7/Odg 
 dgTsD889JHTt0hZTMugEs+mYq0u4pVgY5GuB7hI8jk49+xHc0/8AdXo2UYU4 PVsYwoiH17No 
 OpJabeGVy7csxkIjyBljkljfGbO8gD2Fm7hcnaWlpY1rgGNZxbt1OiKL5Hy2 L2SsWJOwmWaa 
 ZrnPdVtPtMcfV2HKSRwLQA0N2awMACx3oT6ZtaahLaGc0lczJY3vvY5scTx3 bjrWSObGN9+4 
 8mA/MCti86Mv9hNSe/x36pdHVyj0HUr2JpcflcvRdafKbnZpY2m0ySxNP1Zc WF0Ya6xMGuiL 
 HgP+US1pDMdH+KyuAOIsWLzaxtX7fKN7A/nbZZbINy0jYC3Jx7u7Zu++x36+ dGX+wmpPf479 
 UnnRl/sJqT3+O/VIOtnSYmkEkOay9SSZjGX3VXxRnIcWhvOQiP1JC0cTJD1b tuI39SPjH5Xo 
 6xuThvVbV/JeTbPa3x0muiEdaayyVk00buHWFxE852e5zAZDs0bN4+vzoy/2 E1J7/Hfqk86M 
 v9hNSe/x36pB1y2j6mR1RUz/AG29WvVn13tEJj4OELbLQ0hzD3ObclDtiD8n iWkbmKi6MsVH 
 Yx8jsjl5I8cyKClA+dnV14I7FeeOJreHeGuqsbzO8jmkhz3bMLZDzoy/2E1J 7/Hfqk86Mv8A 
 YTUnv8d+qQcn9H+KdjMHS7ReDcNj24+nKHs5t4vryMlPq7GRr6kThuOJ7w5r gdl78XpiOlla 
 uTsZPJZHIQQ2IDNbkYebZnQk+qxrWt27PGAGBo+USC5xcvL50Zf7Cak9/jv1 SedGX+wmpPf4 
 79Ug66V0tLp61bmOoMvkm2nvmljutretK4j9oXRwseSA0MALi1rQGgANaBZV VfOjL/YTUnv8 
 d+qTzoy/2E1J7/HfqkFqRVXzoy/2E1J7/Hfqk86Mv9hNSe/x36pBakVV86Mv 9hNSe/x36pPO 
 jL/YTUnv8d+qQWpFVfOjL/YTUnv8d+qTzoy/2E1J7/HfqkFqRVXzoy/2E1J7 /Hfqk86Mv9hN 
 Se/x36pBakVV86Mv9hNSe/x36pPOjL/YTUnv8d+qQWpR+exUGaxj6Vl8sbS+ OaOWIgPilje2 
 SORu4IJa9jXAOBadtiCNwYXzoy/2E1J7/Hfqk86Mv9hNSe/x36pAk0c5/Z7D dRZtmXh61vlP 
 lA+Z0cnV84+DojC1p6mE7Mjad2b77ueXKWhMPRxUuNpdpgpPu0rrYxIHdW6o 2s2JjS4E8dqk 
 e+5JO7u8bjZ50Zf7Cak9/jv1SedGX+wmpPf479UgipOi3GyabZhDmM22ocY3 ETvjmiZJZrMD 
 +pY9zYxt1fWP248eYO0nWDcKQb0f4oUtSVRYvdXnqs1SyebN2MlmtTOLPV7j yuSgb79zWe3Y 
 k9fOjL/YTUnv8d+qTzoy/wBhNSe/x36pAfoijL2+tYvZKXC3e0mTE9c1lcOs c+udyY0Su5GW 
 U8XSOaC/doBazjHzdHMUuTblXak1B5Za+GTtxfXc/eJlmNuzHQmJo4WpAQ1g B2DtuRc50h50 
 Zf7Cak9/jv1SedGX+wmpPf479Ug5TaFintNvz5vLyZmNkLIskRXEsZjNnZwY IhESWW5ozuwj 
 jsQA4cl1OiKL5Hy2L2SsWJOwmWaaZrnPdVtPtMcfV2HKSRwLQA0N2awMACed GX+wmpPf479U 
 nnRl/sJqT3+O/VIOUeg6lexNLj8rl6LrT5Tc7NLG02mSWJp+rLiwujDXWJg1 0RY8B/yiWtIZ 
 jo/xWVwBxFixebWNq/b5RvYH87bLLZBuWkbAW5OPd3bN332O/Xzoy/2E1J7/ AB36pPOjL/YT 
 Unv8d+qQdZdJifJ0LlrNZew2q+OcwSPi4STsZw63cRh8ZI+UyJzI3buBYQ94 c0rpaXT1q3Md 
 QZfJNtPfNLHdbW9aVxH7QujhY8kBoYAXFrWgNAAa0Dl50Zf7Cak9/jv1SedG X+wmpPf479Ug 
 9OvmNl0xPG8BzXz12kEbggzxghUryBQ8DV9034Lzz5vIwZFunTp3MVMbNJXs M7XLVf2EdpjA 
 aTFM89W47hgI3BBA3aP2d37H/Beba0RVX/z9vHttnFe09bR/qkSYrGsnMIxr ZJGtD3CGk6TY 
 EkDfi07b7H/Rf2HE42aV8Qx0bJGAOcyWoYzsd9js5o3Hqn/RT4cKupLrDYvw b1K5/stYzb+v 
 N7fUdt/7fP7V/aIFvUV/aa3Nxq1/WtQdU4bvm7gODe7+O30968sUznww9G5+ l2eTHD1VTMN0 
 zhep8szYbH9dv1fa3xRc9tt+PLbfbcb7fSF7a2HxVqtFYq1qM0ErBJHJGxrm vaRuHAjuII79 
 1CdIOnswzXVbPaFyeLfqqvjHwz4W+9u1qpzc5rmgEOaet2G5IaTsC5oBDq4z WM1/G9G1fRWN 
 s4nHZ/tz5aeMiqidhgaeTIuu2hDesLnEkAkAEbEkH0biLOXD02aH5AoeBq+6 b8E8gUPA1fdN 
 +CouJ1HqbKR9GWLu5KtUt53t/b7uMNewXdmY7hwf+0i9buLtge8bDj3hebOa nzva7GPx2q61 
 uLHaRs5sZPGV4ON2eOV0Y5B3WtDRw7wwt9Yu7wNmtbiDhos0PyBQ8DV9034L lZw+Kq1pbFqt 
 RhgiYZJJJGNa1jQNy4k9wAHfus8y+sNT3LLX0snHj4joMakkiiqsf/aNyfUL wSBvxBDuQ48g 
 AHEPb5taauy2WxL6s9+njadnQbs3O3qhwnnmIi6olx3A9Yhga4Hm5u/MeqW4 g4aLLvdu6Oo9 
 R23I6frdoibPD108LOsjd8l7dz3tOx2I7ipWth8VarRWKtajNBKwSRyRsa5r 2kbhwI7iCO/d 
 ZfpN2Vra30tLgsbXydtvR3Vk7NNb7NzHWg7NdwcOROwAPEd/e4bLlo/KX8Vo voowembdyzBm 
 WX5bElCCBtkuj5PdEztP7MBr3uDnH5Qj3aRvsW4heGp9oablq2n8PWbYy5xV CBzxG2S0Y4ml 
 xBPEF2w32BO38Cvb5AoeBq+6b8Fl+OfmM7q/oZv5vIxnIzsybZjQkrzQuMTS C5rmBzSZGgB+ 
 zth38Qw7r29FmrNWahyWkruQl3x+b7f2iKw+nHF+zc4x9jY1wsO48eL+Yd3H f/xBuIThos0P 
 yBQ8DV9034J5AoeBq+6b8Fl2M1bqk9E2kc6/LXLuT1FmocdIGQVWuhZ10zSK 4LGsD3CNo3l5 
 NG/+H2r3WtTavr4DFsdfrwZCXWjMIJZBWsvNZ3IhlhsDiwSAkBzWFjtmj2b8 i3EHDRZofkCh 
 4Gr7pvwTyBQ8DV9034LPPPHUPkbsXb/7T59ebHlDqI+v7Ny357cer6zb1d+G 23+HfvXu1FnM 
 7j9QaZ05jNQSZx129kIrNjFw1G3WCCMPbXd1h6gPbz9clrCQ0bAHfk3EHDRZ dfIFDwNX3Tfg 
 o3jpnyP5W67DeSvG84up+Vx+X8n5Xd7fb3KpVNXaklo9HFfI5XFUbGVZkZsj fhMNiEioxxaX 
 Oa4x8DsDJwc09xDXR/NV+jeHlhehA3R/+IfbygkM39x2nlJ2fff1es5cuHz7 78U3EHDU2ajW 
 l0parRWKtvBTQS2BUjkjlic18xG4iBB2LyO/j7VLeQKHgavum/BVDpgr4dua 0qMf5P8AK/nb 
 im5AQcOvG7ZOq67b1vk78eXzexR+a1nm4da03Yi5JZwg1NDp+11zImQmV/MP iij4dbvG3gTK 
 6UBz9+LCw7BuIscPT7Qv/kCh4Gr7pvwTyBQ8DV9034LG7WtNdMsUKYyUUmUy lmUVOzvpux9+ 
 ITtG1K0WkMlADmcJ+fcdzs8sYde6Jss7Uum7ViS7ctzVr09WRt6i2pZrlpB6 qZrSWF7Q4es0 
 NBBG7Q4OUnYRBP00R7IzU0AwUeOvYtjKlpt2NokhYGnY77g7e0H5we4raqkh mqwyuADnsa47 
 ezchZV0pV+qwuPdt/wDsIh/7OV5q5aSaxTxuKjZNJCyN12Z2/V12FoPDu9sj h7G/MDyP+EO7 
 bCnLEx+f8dvp6csTH5/yFW0ZiMzjPN7tmHss82dPy4p200B8oSns2zq+0nyT 2V3fL1R9dnd8 
 rjYNaYubNVIezY3e7TydAxzSdWHOgbbqzzOY7luG7R97TsSYu4H1SbUi7PQK q5L96env5Lk/ 
 69BWpVXJfvT09/Jcn/XoILUiIgIiICidX/8ACeb/AORn/puUsvzNGyaJ8UzG yRPaWuY4bhwP 
 tBHzhSqMYmGaozRMOfZ2rwZbCtyIqltuxUlrS9dHLAGFwPBzCNntcCNnn5lT 7PRLhJJ3vhmt 
 RRuO7Y+sc7j/AA3JXP0RYjxdr7x+KxMTPpMeaJGaPaNey1Radf22pYt5jIXO zSGWOKVsDW8i 
 xzNzwjafY93zr35PDUMrRlpZSnWu05dusgsxNkjfsQRu1wIOxAP/AJhUb0RY jxdr7x+KeiLE 
 eLtfePxSmmaf4iPP+EzXPtGvZb6GlcHj8XYxtDD46rjrPLr6sFVjIpeTeLuT ANnbtAB3HeBs 
 lDSuDx+LsY2hh8dVx1nl19WCqxkUvJvF3JgGzt2gA7jvA2VQ9EWI8Xa+8fin oixHi7X3j8Ve 
 a3mic1o17LVDo3TkGHnxMOCxMeKneJJabKcYhkcNvWczbiT6re8j/CPoXWLS uDio0qUWHxzK 
 dKYWKsDarBHXlBJEjG7bNcC5x3Gx3J+lVD0RYjxdr7x+KeiLEeLtfePxTmt5 ovNaNey3y6Vw 
 ctG7Slw+OfTuzGxagdVYY7EpIJke3bZziWtO53O4H0LrHp7ExVb1aLG0mVr7 5JLcTYGhlhzx 
 s90g22eXDuJO+/zql+iLEeLtfePxT0RYjxdr7x+Kc1vNE5rRr2XSzp7E2sOM TZxtKbFBjIxT 
 kga6ENZtxbwI47DYbDbu2H0LyzaN05Ph4MTNgsTJioHmSKm+nGYY3Hf1ms24 g+s7vA/xH6VV 
 fRFiPF2vvH4p6IsR4u194/FOa3mhzWjXsujdPYlkmOkZjaTZMcwx0nCBoNVp aGlsR29QFoA2 
 bt3DZeWto3TlXMHLVsFiYcqXvkNyOnG2YufvydzA5bnc7nfv3P0qq+iLEeLt fePxT0RYjxdr 
 7x+Kc1vNDmtGvZaptG6cnw8GJmwWJkxUDzJFTfTjMMbjv6zWbcQfWd3gf4j9 K5WNC6Ws0alK 
 xpzCy06nPs0ElGJ0cPM7u4NLdm7nvO3tKrXoixHi7X3j8U9EWI8Xa+8finNb zRea0a9lv81c 
 H5c8teR8d5Y8d2VnX/J4f3m3L5Pq+32d3sUp2dqzz0RYjxdr7x+KeiLEeLtf ePxTmt5onNaN 
 ez84hoZ01Zpo9ggi/pBT2vdN6OydRuS1pVxzIabmOF6zL2cxesA0GUFpALiB sTsSfYvxpXQd 
 LTeT7ZTsTPcWljmv79x3/wAf4rtroSQ29MZPs9mapjcm6xa7NA+eRkbqlmEE RsBe/wBeWMbN 
 BIBJPcCRaYwhqiMIwlOYKHGQYio3BR1GYx0YfX7GGiJzHDcObx7iCDvuPbuv S2zA61JVbNEb 
 MbGyPiDxzaxxcGuI9oBLHgH5+J+gqq6JmOK03Kb9a9G6e1k8mxgqSuf1D7kk rN2taS2QslYR 
 EQJD3jju1wDAYZmN6SdTWq9SWOC7j6Mj7Dg53XzCa4X+u7fkWtdGNt/VbwaA GhoWmlvREQER 
 EBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQFybZgdakqtmi NmNjZHxB45tY 
 4uDXEe0AljwD8/E/QV1VfpaTxtPWV/U8LNspdhFeZ/VRDlGAziOQYHd3Anfl ueWzuQZEIw45 
 LE18ZhQyJ0ks0+QqST2JiHSTPNiIcnEAfMAAAAAAAAAAFYOztX5yNGtkqM1O 9C2atM3i9jvn 
 H/yD84I7we8LP3dEeGLjxtWw3fuBcSdv9ViYnHGHOYnNjC23cAZ8k+7Wyl6l LJEyF7YGxFrg 
 wvLT67Hd/ru9i/eMwXYrlm1Nft3Z5444i6wIxxawvIADGNHte727qneiLEeL tfePxT0RYjxd 
 r7x+Kzk9ccI8/wCLjX/GEa9lvzelcHnup8uYfHZLqOXVdsqsm6vltvx5A7b7 Dfb6Al/SuDyG 
 Lr42/h8dax1bj1FWeqx8UXFvFvFhGzdmkgbDuB2VQ9EWI8Xa+8finoixHi7X 3j8Vrmt5onNa 
 Ney339K4PIYuvjb+Hx1rHVuPUVZ6rHxRcW8W8WEbN2aSBsO4HZcsjo3TmTq0 62SwWJt1qTOr 
 qxT045GQN2A4sBBDRs1o2G3sH0Kq+iLEeLtfePxT0RYjxdr7x+Kc1vNF5rRr 2XS1p7E3LU1m 
 3jaU9masacsssDXPfATuYnEjcsJO5ae7+C5WNK4OzDUisYfHSxVIX16zJKrH Nhiezg6NgI9V 
 pZ6pA7iO72KoeiLEeLtfePxT0RYjxdr7x+Kc1vNE5rRr2XSrp7E07UNmpjaU FmGsKcUsUDWv 
 ZADuImkDcMBG4aO7+C8trRunLlWatbwWJnrTWTclilpxuY+cjYyuBGxeQdi4 9/8AFVX0RYjx 
 dr7x+KeiLEeLtfePxTmt5oc1o17Lo3T2JZJjpGY2k2THMMdJwgaDVaWhpbEd vUBaANm7dw2X 
 KhpXB4/KWMlQw+Oq5Gzy6+1BVYyWXk7k7k8Dd27gCdz3kbqoeiLEeLtfePxT 0RYjxdr7x+Kc 
 1vNDmtGvZb/NXB+Q/IvkfHeR/A9lZ1Hyuf8Ad7cflet7Pb3+1ItK4OKjSpRY fHMp0phYqwNq 
 sEdeUEkSMbts1wLnHcbHcn6VUPRFiPF2vvH4p6IsR4u194/FOa3mhzWjXst8 ulcHLRu0pcPj 
 n07sxsWoHVWGOxKSCZHt22c4lrTudzuB9C5TaN05Ph4MTNgsTJioHmSKm+nG YY3Hf1ms24g+ 
 s7vA/wAR+lVX0RYjxdr7x+KeiLEeLtfePxTmt5ovNaNey6SaexMtWjWlxtJ9 ag+OSpE6BpZX 
 cwbMdGNtmFo7gRtt8y5eauD8h+RfI+O8j+B7KzqPlc/7vbj8r1vZ7e/2qoei LEeLtfePxT0R 
 Yjxdr7x+Kc1vNE5rRr2Wqro3TlOrDWqYLEwVobIuRRRU42sZOBsJWgDYPAGw cO/+KWdG6ctZ 
 gZazgsTNlQ9kguSU43TBzNuLuZHLcbDY792w+hVX0RYjxdr7x+KeiLEeLtfe PxTmt5ovNaNe 
 yyy6F0tLNdll05hXy3d+1PdRiLrG7w88zx9bd7Wu79+8A+0KUxmGoYqjFSxd OtSpxb9XBWib 
 HGzcknZrQANySf8AzKo3oixHi7X3j8U9EWI8Xa+8finNbzROa0a9nTpniDNO 40j6yhH/APL1 
 +fR1p8ZOLJ+a2DycWQLHXY7NKF8jJCBvOxzx3j/vs37/AJTfW3D/AOM6JcSx 7Xtt2eTSCNyT 
 3g7/AErRK0XU14ot+XBgbvttvsNlaYmMcVoiYxxVn0caH+xum/8A0uD/AOqe jjQ/2N03/wCl 
 wf8A1VKw3ShloNN6aF3B2ctlJsLVyl91KKxM57JQ4MMYhrub1ruqeSyQxMBI aHuHJzZDXmuc 
 /j8dq2DF4iKrZx+Ps2K1ixZLJAI4y42Ax0RjkjHdt1b5CHPhbI2Pm7hptZfR xof7G6b/APS4 
 P/qpDCaT07gbT7ODwGJxtl7DG6WnTjhe5u4PEloBI3AO38As/t69zeM1RkaV irFasi0ytBTF 
 psdeN724hnEy9SZHBsl6RwfsO7cFp3bw9drpAyNfV1PF2KUUVxrLVOanHPzr Pt70HQO7S6Np 
 bHwt7EloJc4sa2R3Vh4aeiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIi AiIgIiICIiAi 
 IgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAi IgIiICIiAiIg 
 IiICIiAiIgIiICIiAiIgIiIKrF0f6cioUaTKlkVKkIqsi7fYLZYASWwzev8A tohycBHJyaA5 
 zQAHEHrd0Np+7JedapSyx3GTMlgNqbqG9c1zZXxxc+Ecjg+TeRjWuPWP7/Xd vZUQVrzG0/2p 
 lp9KWSy18cnWy2pnvc9hrFrnFzyXHelWJJ336vv35O5dbmjsFcv27tmjyt2u RklE0jXcnCAc 
 m7O9Rw7JXLXN2LTGHNIO5NgRAREQEREBERAREQEREBERAREQEREBERAREQER EBERAREQEREB 
 ERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREB ERAREQEREBER 
 AREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER AREQEREBERAR 
 EQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAR EQEREBERAREQ 
EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf/2Q== 
--------------090207060603010507090305--
 |  
 |  
  |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #54473 is a reply to message #54446] | 
Fri, 29 September 2006 07:00    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi Hans, 
Each HibernateResource has its own session. When you save one resource the references are followed  
and the objects in the second resource are saved also using the session of the first resource. This  
results in an error. 
 
So basically working with references between multiple hibernateresources is not yet supported. 
The solution would be to move session and transaction control also outside of the resource (to the  
resourceset). This has not been implemented yet (adding a feature request in bugzilla can help). 
 
What you can try for now is load all the data in one resource using multiple queries. You can  
specify multiple queries in the url by using parameters query1, query2, query3, etc. 
 
gr. Martin 
 
Hans Mueller-Dieckert wrote: 
> Hi, 
>  
> I have two HibernateResources with the contents of each Resource being  
> build by a query. 
>  
> When i set a Reference from an object contained in Resource A to an  
> object contained in Resource B, trying to save Resource A results in an  
> HibernateException with the message "Illegal attempt to associate a  
> collection with two open sessions". 
>  
> Am I missing some option or is this a bug or a not supported feature ? 
>  
> I've attached the full stack trace and an class diagram showing my test  
> model. The classes named First* are contained in Resource A while the  
> classes named Second* are contained in Resource B. 
>  
> If it would be helpful, I can also supply my test-plugin containing the  
> EMF model and a junit test case as well. 
>  
> greetings, 
> Hans 
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
> org.eclipse.emf.teneo.hibernate.HbStoreException: Exception when saving resource test 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:214) 
> 	at  org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:271) 
> 	at  de.arcsolutions.remarc.platform.emftest.TwoResourcesLinkTest Case.testTwoResources(TwoResourcesLinkTestCase.java:77) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at junit.framework.TestCase.runTest(TestCase.java:154) 
> 	at junit.framework.TestCase.runBare(TestCase.java:127) 
> 	at junit.framework.TestResult$1.protect(TestResult.java:106) 
> 	at  junit.framework.TestResult.runProtected(TestResult.java:124) 
> 	at junit.framework.TestResult.run(TestResult.java:109) 
> 	at junit.framework.TestCase.run(TestCase.java:118) 
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208) 
> 	at junit.framework.TestSuite.run(TestSuite.java:203) 
> 	at  org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestRefer ence.run(JUnit3TestReference.java:128) 
> 	at  org.eclipse.jdt.internal.junit.runner.TestExecution.run(Test Execution.java:38) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:460) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:673) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:386) 
> 	at  org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:58) 
> 	at  org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24) 
> 	at  org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at  org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 ) 
> 	at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
> 	at org.eclipse.core.launcher.Main.run(Main.java:977) 
> 	at org.eclipse.core.launcher.Main.main(Main.java:952) 
> Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 
> 	at  org.hibernate.collection.AbstractPersistentCollection.setCur rentSession(AbstractPersistentCollection.java:410) 
> 	at  org.hibernate.event.def.OnUpdateVisitor.processCollection(On UpdateVisitor.java:40) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:101) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:61) 
> 	at  org.hibernate.event.def.AbstractVisitor.processEntityPropert yValues(AbstractVisitor.java:55) 
> 	at  org.hibernate.event.def.AbstractVisitor.process(AbstractVisi tor.java:123) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:267) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:223) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.cas cadeOnUpdate(DefaultSaveOrUpdateEventListener.java:331) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:303) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.cascad eOnFlush(AbstractFlushingEventListener.java:130) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.prepar eEntityFlushes(AbstractFlushingEventListener.java:121) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.flushE verythingToExecutions(AbstractFlushingEventListener.java:65) 
> 	at  org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:26) 
> 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:210) 
> 	... 34 more 
>  
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
 
 
--  
 
With Regards, Martin Taal 
 
Springsite/Elver.org 
Office: Hardwareweg 4, 3821 BV Amersfoort 
Postal: Nassaulaan 7, 3941 EC Doorn 
The Netherlands 
Tel: +31 (0)84 420 2397 
Fax: +31 (0)84 225 9307 
Mail: mtaal@springsite.com - mtaal@elver.org 
Web: www.springsite.com - www.elver.org
 |  
 |  
  |   |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #56026 is a reply to message #55924] | 
Tue, 03 October 2006 01:55    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi Sundeep, 
I think there are two issues which you mention here: 
1) closing the session when unloading. This is a missing feature (or oversight from me). Can you  
enter a bugzilla for this? I use bugzilla to keep a public record of changes that's why I prefer a  
bugzilla entry for also smaller things to add (like this). 
2) having multiple resources with objects refering to eachother. This I will solve in the next  
release. My idea is to add the concept of a sessioncontroller which is registered by name, the  
session controller can then be used by multiple resources sharing one session. The transaction  
handling then needs to be done outside of the actual resource save action. 
 
gr. Martin 
 
Sundeep Prakash wrote: 
> Hi Martin, 
> I have the same problem. But I notice that HibernateResource.unload()  
> doesnt actually close the underlying Hibernate session (unless I am  
> looking at the wrong code again). Why is that? So the Hibernate sessions  
> are cleaned only through garbage collection then? My problem is that if  
> I retrieve Object A from Resource 1 and then unload Resource 1, I was  
> expecting that Object A would become a detached object (in Hibernate  
> terminology). Next when I retrieve Object B in Resource 2 and add Object  
> A to resource 2, I get the same exception "Illegal ..." when I save  
> Resource 2, because Object A and its collection are still persistent  
> objects of the session in Resource 1. If HibernateResource.unload()  
> actually closed the session, wouldnt everything automatically be ok? If  
> so, why doesnt HibernateResource.unload() actually close the session,  
> only set it to null? 
>  
> Thanks in advance, 
>  
> Sundeep 
>  
 
 
--  
 
With Regards, Martin Taal 
 
Springsite/Elver.org 
Office: Hardwareweg 4, 3821 BV Amersfoort 
Postal: Nassaulaan 7, 3941 EC Doorn 
The Netherlands 
Tel: +31 (0)84 420 2397 
Fax: +31 (0)84 225 9307 
Mail: mtaal@springsite.com - mtaal@elver.org 
Web: www.springsite.com - www.elver.org
 |  
 |  
  |   |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #56729 is a reply to message #54446] | 
Thu, 05 October 2006 00:48   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi, 
The latest build now provides the possibility to share a session between resources and save multiple  
resources within one transaction. Please see here for more information (note url maybe truncated): 
 http://www.elver.org/hibernate/hibernateresources.html#Shari ng+one+Session+between+Resources%2C+One+transaction+when+sav ing+multiple+resources 
 
gr. Martin 
 
Hans Mueller-Dieckert wrote: 
> Hi, 
>  
> I have two HibernateResources with the contents of each Resource being  
> build by a query. 
>  
> When i set a Reference from an object contained in Resource A to an  
> object contained in Resource B, trying to save Resource A results in an  
> HibernateException with the message "Illegal attempt to associate a  
> collection with two open sessions". 
>  
> Am I missing some option or is this a bug or a not supported feature ? 
>  
> I've attached the full stack trace and an class diagram showing my test  
> model. The classes named First* are contained in Resource A while the  
> classes named Second* are contained in Resource B. 
>  
> If it would be helpful, I can also supply my test-plugin containing the  
> EMF model and a junit test case as well. 
>  
> greetings, 
> Hans 
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
> org.eclipse.emf.teneo.hibernate.HbStoreException: Exception when saving resource test 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:214) 
> 	at  org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:271) 
> 	at  de.arcsolutions.remarc.platform.emftest.TwoResourcesLinkTest Case.testTwoResources(TwoResourcesLinkTestCase.java:77) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at junit.framework.TestCase.runTest(TestCase.java:154) 
> 	at junit.framework.TestCase.runBare(TestCase.java:127) 
> 	at junit.framework.TestResult$1.protect(TestResult.java:106) 
> 	at  junit.framework.TestResult.runProtected(TestResult.java:124) 
> 	at junit.framework.TestResult.run(TestResult.java:109) 
> 	at junit.framework.TestCase.run(TestCase.java:118) 
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208) 
> 	at junit.framework.TestSuite.run(TestSuite.java:203) 
> 	at  org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestRefer ence.run(JUnit3TestReference.java:128) 
> 	at  org.eclipse.jdt.internal.junit.runner.TestExecution.run(Test Execution.java:38) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:460) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:673) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:386) 
> 	at  org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:58) 
> 	at  org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24) 
> 	at  org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at  org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 ) 
> 	at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
> 	at org.eclipse.core.launcher.Main.run(Main.java:977) 
> 	at org.eclipse.core.launcher.Main.main(Main.java:952) 
> Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 
> 	at  org.hibernate.collection.AbstractPersistentCollection.setCur rentSession(AbstractPersistentCollection.java:410) 
> 	at  org.hibernate.event.def.OnUpdateVisitor.processCollection(On UpdateVisitor.java:40) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:101) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:61) 
> 	at  org.hibernate.event.def.AbstractVisitor.processEntityPropert yValues(AbstractVisitor.java:55) 
> 	at  org.hibernate.event.def.AbstractVisitor.process(AbstractVisi tor.java:123) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:267) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:223) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.cas cadeOnUpdate(DefaultSaveOrUpdateEventListener.java:331) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:303) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.cascad eOnFlush(AbstractFlushingEventListener.java:130) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.prepar eEntityFlushes(AbstractFlushingEventListener.java:121) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.flushE verythingToExecutions(AbstractFlushingEventListener.java:65) 
> 	at  org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:26) 
> 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:210) 
> 	... 34 more 
>  
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
 
 
--  
 
With Regards, Martin Taal 
 
Springsite/Elver.org 
Office: Hardwareweg 4, 3821 BV Amersfoort 
Postal: Nassaulaan 7, 3941 EC Doorn 
The Netherlands 
Tel: +31 (0)84 420 2397 
Fax: +31 (0)84 225 9307 
Mail: mtaal@springsite.com - mtaal@elver.org 
Web: www.springsite.com - www.elver.org
 |  
 |  
  |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #592694 is a reply to message #54446] | 
Fri, 29 September 2006 07:00   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi Hans, 
Each HibernateResource has its own session. When you save one resource the references are followed  
and the objects in the second resource are saved also using the session of the first resource. This  
results in an error. 
 
So basically working with references between multiple hibernateresources is not yet supported. 
The solution would be to move session and transaction control also outside of the resource (to the  
resourceset). This has not been implemented yet (adding a feature request in bugzilla can help). 
 
What you can try for now is load all the data in one resource using multiple queries. You can  
specify multiple queries in the url by using parameters query1, query2, query3, etc. 
 
gr. Martin 
 
Hans Mueller-Dieckert wrote: 
> Hi, 
>  
> I have two HibernateResources with the contents of each Resource being  
> build by a query. 
>  
> When i set a Reference from an object contained in Resource A to an  
> object contained in Resource B, trying to save Resource A results in an  
> HibernateException with the message "Illegal attempt to associate a  
> collection with two open sessions". 
>  
> Am I missing some option or is this a bug or a not supported feature ? 
>  
> I've attached the full stack trace and an class diagram showing my test  
> model. The classes named First* are contained in Resource A while the  
> classes named Second* are contained in Resource B. 
>  
> If it would be helpful, I can also supply my test-plugin containing the  
> EMF model and a junit test case as well. 
>  
> greetings, 
> Hans 
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
> org.eclipse.emf.teneo.hibernate.HbStoreException: Exception when saving resource test 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:214) 
> 	at  org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:271) 
> 	at  de.arcsolutions.remarc.platform.emftest.TwoResourcesLinkTest Case.testTwoResources(TwoResourcesLinkTestCase.java:77) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at junit.framework.TestCase.runTest(TestCase.java:154) 
> 	at junit.framework.TestCase.runBare(TestCase.java:127) 
> 	at junit.framework.TestResult$1.protect(TestResult.java:106) 
> 	at  junit.framework.TestResult.runProtected(TestResult.java:124) 
> 	at junit.framework.TestResult.run(TestResult.java:109) 
> 	at junit.framework.TestCase.run(TestCase.java:118) 
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208) 
> 	at junit.framework.TestSuite.run(TestSuite.java:203) 
> 	at  org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestRefer ence.run(JUnit3TestReference.java:128) 
> 	at  org.eclipse.jdt.internal.junit.runner.TestExecution.run(Test Execution.java:38) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:460) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:673) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:386) 
> 	at  org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:58) 
> 	at  org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24) 
> 	at  org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at  org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 ) 
> 	at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
> 	at org.eclipse.core.launcher.Main.run(Main.java:977) 
> 	at org.eclipse.core.launcher.Main.main(Main.java:952) 
> Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 
> 	at  org.hibernate.collection.AbstractPersistentCollection.setCur rentSession(AbstractPersistentCollection.java:410) 
> 	at  org.hibernate.event.def.OnUpdateVisitor.processCollection(On UpdateVisitor.java:40) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:101) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:61) 
> 	at  org.hibernate.event.def.AbstractVisitor.processEntityPropert yValues(AbstractVisitor.java:55) 
> 	at  org.hibernate.event.def.AbstractVisitor.process(AbstractVisi tor.java:123) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:267) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:223) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.cas cadeOnUpdate(DefaultSaveOrUpdateEventListener.java:331) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:303) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.cascad eOnFlush(AbstractFlushingEventListener.java:130) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.prepar eEntityFlushes(AbstractFlushingEventListener.java:121) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.flushE verythingToExecutions(AbstractFlushingEventListener.java:65) 
> 	at  org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:26) 
> 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:210) 
> 	... 34 more 
>  
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
 
 
--  
 
With Regards, Martin Taal 
 
Springsite/Elver.org 
Office: Hardwareweg 4, 3821 BV Amersfoort 
Postal: Nassaulaan 7, 3941 EC Doorn 
The Netherlands 
Tel: +31 (0)84 420 2397 
Fax: +31 (0)84 225 9307 
Mail: mtaal@springsite.com - mtaal@elver.org 
Web: www.springsite.com - www.elver.org
 |  
 |  
  |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #593344 is a reply to message #54473] | 
Mon, 02 October 2006 18:09   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi Martin, 
 I have the same problem. But I notice that HibernateResource.unload()  
doesnt actually close the underlying Hibernate session (unless I am  
looking at the wrong code again). Why is that? So the Hibernate sessions  
are cleaned only through garbage collection then? My problem is that if I  
retrieve Object A from Resource 1 and then unload Resource 1, I was  
expecting that Object A would become a detached object (in Hibernate  
terminology). Next when I retrieve Object B in Resource 2 and add Object A  
to resource 2, I get the same exception "Illegal ..." when I save Resource  
2, because Object A and its collection are still persistent objects of the  
session in Resource 1. If HibernateResource.unload() actually closed the  
session, wouldnt everything automatically be ok? If so, why doesnt  
HibernateResource.unload() actually close the session, only set it to null? 
 
Thanks in advance, 
 
Sundeep
 |  
 |  
  |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #593383 is a reply to message #55924] | 
Tue, 03 October 2006 01:55   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi Sundeep, 
I think there are two issues which you mention here: 
1) closing the session when unloading. This is a missing feature (or oversight from me). Can you  
enter a bugzilla for this? I use bugzilla to keep a public record of changes that's why I prefer a  
bugzilla entry for also smaller things to add (like this). 
2) having multiple resources with objects refering to eachother. This I will solve in the next  
release. My idea is to add the concept of a sessioncontroller which is registered by name, the  
session controller can then be used by multiple resources sharing one session. The transaction  
handling then needs to be done outside of the actual resource save action. 
 
gr. Martin 
 
Sundeep Prakash wrote: 
> Hi Martin, 
> I have the same problem. But I notice that HibernateResource.unload()  
> doesnt actually close the underlying Hibernate session (unless I am  
> looking at the wrong code again). Why is that? So the Hibernate sessions  
> are cleaned only through garbage collection then? My problem is that if  
> I retrieve Object A from Resource 1 and then unload Resource 1, I was  
> expecting that Object A would become a detached object (in Hibernate  
> terminology). Next when I retrieve Object B in Resource 2 and add Object  
> A to resource 2, I get the same exception "Illegal ..." when I save  
> Resource 2, because Object A and its collection are still persistent  
> objects of the session in Resource 1. If HibernateResource.unload()  
> actually closed the session, wouldnt everything automatically be ok? If  
> so, why doesnt HibernateResource.unload() actually close the session,  
> only set it to null? 
>  
> Thanks in advance, 
>  
> Sundeep 
>  
 
 
--  
 
With Regards, Martin Taal 
 
Springsite/Elver.org 
Office: Hardwareweg 4, 3821 BV Amersfoort 
Postal: Nassaulaan 7, 3941 EC Doorn 
The Netherlands 
Tel: +31 (0)84 420 2397 
Fax: +31 (0)84 225 9307 
Mail: mtaal@springsite.com - mtaal@elver.org 
Web: www.springsite.com - www.elver.org
 |  
 |  
  |   |  
| Re: Teneo: HibernateException when trying to save HibernateResource [message #593742 is a reply to message #54446] | 
Thu, 05 October 2006 00:48   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Hi, 
The latest build now provides the possibility to share a session between resources and save multiple  
resources within one transaction. Please see here for more information (note url maybe truncated): 
 http://www.elver.org/hibernate/hibernateresources.html#Shari ng+one+Session+between+Resources%2C+One+transaction+when+sav ing+multiple+resources 
 
gr. Martin 
 
Hans Mueller-Dieckert wrote: 
> Hi, 
>  
> I have two HibernateResources with the contents of each Resource being  
> build by a query. 
>  
> When i set a Reference from an object contained in Resource A to an  
> object contained in Resource B, trying to save Resource A results in an  
> HibernateException with the message "Illegal attempt to associate a  
> collection with two open sessions". 
>  
> Am I missing some option or is this a bug or a not supported feature ? 
>  
> I've attached the full stack trace and an class diagram showing my test  
> model. The classes named First* are contained in Resource A while the  
> classes named Second* are contained in Resource B. 
>  
> If it would be helpful, I can also supply my test-plugin containing the  
> EMF model and a junit test case as well. 
>  
> greetings, 
> Hans 
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
> org.eclipse.emf.teneo.hibernate.HbStoreException: Exception when saving resource test 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:214) 
> 	at  org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:271) 
> 	at  de.arcsolutions.remarc.platform.emftest.TwoResourcesLinkTest Case.testTwoResources(TwoResourcesLinkTestCase.java:77) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at junit.framework.TestCase.runTest(TestCase.java:154) 
> 	at junit.framework.TestCase.runBare(TestCase.java:127) 
> 	at junit.framework.TestResult$1.protect(TestResult.java:106) 
> 	at  junit.framework.TestResult.runProtected(TestResult.java:124) 
> 	at junit.framework.TestResult.run(TestResult.java:109) 
> 	at junit.framework.TestCase.run(TestCase.java:118) 
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208) 
> 	at junit.framework.TestSuite.run(TestSuite.java:203) 
> 	at  org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestRefer ence.run(JUnit3TestReference.java:128) 
> 	at  org.eclipse.jdt.internal.junit.runner.TestExecution.run(Test Execution.java:38) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:460) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe sts(RemoteTestRunner.java:673) 
> 	at  org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(R emoteTestRunner.java:386) 
> 	at  org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunne r.main(RemotePluginTestRunner.java:58) 
> 	at  org.eclipse.pde.internal.junit.runtime.CoreTestApplication.r un(CoreTestApplication.java:24) 
> 	at  org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92) 
> 	at  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400) 
> 	at  org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
> 	at java.lang.reflect.Method.invoke(Unknown Source) 
> 	at  org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 ) 
> 	at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
> 	at org.eclipse.core.launcher.Main.run(Main.java:977) 
> 	at org.eclipse.core.launcher.Main.main(Main.java:952) 
> Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 
> 	at  org.hibernate.collection.AbstractPersistentCollection.setCur rentSession(AbstractPersistentCollection.java:410) 
> 	at  org.hibernate.event.def.OnUpdateVisitor.processCollection(On UpdateVisitor.java:40) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:101) 
> 	at  org.hibernate.event.def.AbstractVisitor.processValue(Abstrac tVisitor.java:61) 
> 	at  org.hibernate.event.def.AbstractVisitor.processEntityPropert yValues(AbstractVisitor.java:55) 
> 	at  org.hibernate.event.def.AbstractVisitor.process(AbstractVisi tor.java:123) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:267) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:223) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.cas cadeOnUpdate(DefaultSaveOrUpdateEventListener.java:331) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formUpdate(DefaultSaveOrUpdateEventListener.java:303) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.ent ityIsDetached(DefaultSaveOrUpdateEventListener.java:216) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.per formSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) 
> 	at  org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onS aveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) 
> 	at  org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl. java:502) 
> 	at  org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java :494) 
> 	at  org.hibernate.engine.CascadingAction$1.cascade(CascadingActi on.java:134) 
> 	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:213) 
> 	at  org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java :157) 
> 	at  org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:10 8) 
> 	at org.hibernate.engine.Cascade.cascade(Cascade.java:248) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.cascad eOnFlush(AbstractFlushingEventListener.java:130) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.prepar eEntityFlushes(AbstractFlushingEventListener.java:121) 
> 	at  org.hibernate.event.def.AbstractFlushingEventListener.flushE verythingToExecutions(AbstractFlushingEventListener.java:65) 
> 	at  org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:26) 
> 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985) 
> 	at  org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:210) 
> 	... 34 more 
>  
>  
>  
>  ------------------------------------------------------------ ------------ 
>  
 
 
--  
 
With Regards, Martin Taal 
 
Springsite/Elver.org 
Office: Hardwareweg 4, 3821 BV Amersfoort 
Postal: Nassaulaan 7, 3941 EC Doorn 
The Netherlands 
Tel: +31 (0)84 420 2397 
Fax: +31 (0)84 225 9307 
Mail: mtaal@springsite.com - mtaal@elver.org 
Web: www.springsite.com - www.elver.org
 |  
 |  
  |   
Goto Forum:
 
 Current Time: Tue Nov 04 05:50:43 EST 2025 
 Powered by  FUDForum. Page generated in 0.54005 seconds  
 |