Details
Description
The Object.vm template and generator produce object classes with
public List<SomeClass> getSomeClasss(Criteria criteria) throws TorqueException
If torque.objectIsCaching is set, this method uses a "last used Criteria" comparison to determine whether or not to re-fetch the Collection of <SomeClass>. The way the template (Object.vm) is written, we wind up with
if (!lastSomeClassCriteria.equals(criteria))
...
which can throw NullPointerException if this is the first time this method is called (lastSomeClassCriteria will be null).
This could be fixed by changing the comparison to
if (!criteria.equals(last${relCol}Criteria))
or
if (last${relCol}Criteria == null || !last${relCol}Criteria.equals(criteria))
Granted, there are other ways to achieve these results (create the appropriate Criteria and call SomeClassPeer.doSelect(Criteria)), but the "getRelatedObjects(Criteria)" method is a handy abstraction that is already generated for each class.