Spring 3.0 added many functions for compatibility with Java 5. Currently, many methods are parameterized. For example HibernateTemplate.executeXXX(), HibernateTemplate.getXXX(), HibernateTemplate.mergeXXX()return T,
HibernateTemplate.loadAll()returns List<T>.
But the methods findXXX()return plain List, so I have to bring it to something like List<MyEntity>.
Does anyone know what the reason is? Why are the methods not parameterized? Or maybe there is another, parameterized API?
that's what I'm doing.
This is the important part of spring.xml:
<bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor" autowire="byName" />
<bean id="deviceDaoTarget" class="com.nso.solution.dao.DeviceDAOHibernateImpl" autowire="byName" />
<bean id="discoveryDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>com.nso.solution.dao.DeviceDAO</value>
</property>
<property name="interceptorNames">
<list>
<value>hibernateInterceptor</value>
<value>deviceDaoTarget</value>
</list>
</property>
</bean>
DeviceDAO is an interface that contains several methods that allow you to retrieve, save, and delete objects. DeviceDAOHibernateImpl implements this interface, for example.
public List<Device> getAllDevices() {
return getHibernateTemplate().loadAll(Device.class);
}
@SuppressWarnings ( "unchecked" ).