[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3069?page=c...
]
Max Rydahl Andersen commented on HHH-3069:
------------------------------------------
Read the javadoc:
* Return the persistent instance of the given entity class with the given identifier,
* or null if there is no such persistent instance. (If the instance, or a proxy for the
* instance, is already associated with the session, return that instance or proxy.)
And in this case there already is such an instance (you created it via your .load()) and
since get also has to ensure that the object actually also exists an exception is thrown.
ObjectNotFoundException when proxy exists for super class of non
existant joined subclass
-----------------------------------------------------------------------------------------
Key: HHH-3069
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3069
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.5
Reporter: dan oxlade
A proxy of an entity which has a joined subclass is loaded into the session.
If the proxy resolves to null, i.e the id of the proxy has no matching row in the
database then future queries (in the same hibernate session) for any of the joined
subclass entities will fail with ObjectNotFoundExceptions from the returnNarrowedProxy
method of the DefaultLoadEventListener.
the following test method in JoinedSubclassTest demonstrates the failing test:
public void testProxyLoadedWhichDoesNotExist() throws Exception {
Session s = openSession();
Transaction t = s.beginTransaction();
Long id = Long.valueOf(0L);
Employee employee = (Employee) s.get(Employee.class,id);
assertNull(employee);
Person proxy = (Person) s.load(Person.class,id);
assertNotNull(proxy);
employee = (Employee) s.get(Employee.class,id);
assertNull(employee);
t.commit();
s.close();
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira