Spring 3.0增加了很多與Java 5兼容的功能。現在有很多方法被參數化。 例如HibernateTemplate.executeXXX()
,HibernateTemplate.getXXX()
, HibernateTemplate.mergeXXX()
return T, HibernateTemplate.loadAll()
返回List<T>
。爲什麼在HibernateTemplate中findXXX()方法返回非參數化列表?
但findXXX()
方法返回普通List
,所以我必須把它投到像List<MyEntity>
。
有人知道是什麼原因嗎?爲什麼找到方法沒有參數化?或者可能還有其他的參數化API?
這是我在做什麼。
這是spring.xml的相關部分:
<bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor" autowire="byName" /><!--sessionFactory will get autowired-->
<bean id="deviceDaoTarget" class="com.nso.solution.dao.DeviceDAOHibernateImpl" autowire="byName" /><!--sessionFactory will get autowired-->
<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是包含多種方法,使檢索,保存和刪除的對象的接口。 DeviceDAOHibernateImpl實現這個接口,例如我不得不使用@SuppressWarnings(「unchecked」)註釋標記此方法。因爲它是在春季3 棄用
謝謝您的回覆。不幸的是我不明白它對我有什麼幫助。您的解決方案仍然會返回純收集並處理較低級別的API。 – AlexR 2010-11-17 12:40:07
無論如何感謝您的參考,你發送。我正在閱讀這些文件,希望我能很快理解要做什麼。 – AlexR 2010-11-17 12:43:35
這不是我的解決方案,它是Spring的示例代碼。不,它不處理較低級別的API,Spring創建,自動關閉並提交事務和會話,您只需調用getCurrentSession() – 2010-11-17 12:53:03