org.hibernate.ObjectNotFoundException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • I have a test similar with HibernateTemplateTests, but not using mocks for Hibernate classes, but concrete classes. I have this test: 1 try { 2 Piloto piloto = dao.findById(1); 3 fail("piloto obtido=[" + piloto.toString() + "]"); 4 } catch (ObjectRetrievalFailureException e) { 5 assertEquals(1, e.getIdentifier()); 6 assertEquals(Piloto.class, e.getPersistentClass()); 7 } for the code: public Piloto findById(int id) { return (Piloto) getHibernateTemplate().load(Piloto.class, id); } The database is empty. The test fails AFTER findByid (#2), because the dao seems to use lazy loading, and an exception is throw when a call is made to "piloto.toString()" (#3): org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [dominio.Piloto#1] at org.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:27) at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:121) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:78) at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:649) at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:60) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:85) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:131) at br.com.erocha.formula.dominio.Piloto$$EnhancerByCGLIB$$4514e186.toString(<generated>) at br.com.erocha.formula.infraestrutura.dao.hibernate.HibernatePilotoDaoImplTest.testFindByIdPilotoInexistente(HibernatePilotoDaoImplTest.java:113) 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.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    via by Eduardo Rocha,
  • I have a test similar with HibernateTemplateTests, but not using mocks for Hibernate classes, but concrete classes. I have this test: 1 try { 2 Piloto piloto = dao.findById(1); 3 fail("piloto obtido=[" + piloto.toString() + "]"); 4 } catch (ObjectRetrievalFailureException e) { 5 assertEquals(1, e.getIdentifier()); 6 assertEquals(Piloto.class, e.getPersistentClass()); 7 } for the code: public Piloto findById(int id) { return (Piloto) getHibernateTemplate().load(Piloto.class, id); } The database is empty. The test fails AFTER findByid (#2), because the dao seems to use lazy loading, and an exception is throw when a call is made to "piloto.toString()" (#3): org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [dominio.Piloto#1] at org.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:27) at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:121) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:78) at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:649) at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:60) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:85) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:131) at br.com.erocha.formula.dominio.Piloto$$EnhancerByCGLIB$$4514e186.toString(<generated>) at br.com.erocha.formula.infraestrutura.dao.hibernate.HibernatePilotoDaoImplTest.testFindByIdPilotoInexistente(HibernatePilotoDaoImplTest.java:113) 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.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    via by Eduardo Rocha,
  • Hibernate / Mailing Lists
    via by Unknown author,
  • Parameter problem
    via oreports by mpapale
    ,
    • org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [dominio.Piloto#1] at org.hibernate.ObjectNotFoundException.throwIfNull(ObjectNotFoundException.java:27) at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:121) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:78) at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:649) at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:60) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:85) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:131) at br.com.erocha.formula.dominio.Piloto$$EnhancerByCGLIB$$4514e186.toString(<generated>) at br.com.erocha.formula.infraestrutura.dao.hibernate.HibernatePilotoDaoImplTest.testFindByIdPilotoInexistente(HibernatePilotoDaoImplTest.java:113) 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.RemoteTestRunner.runTests(RemoteTestRunner.java:478) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    No Bugmate found.