Hallo,
in Anlehnung an das Beispiel des Buches "Spring im Einsatz" verwende ich die Hibernate-Integration von Spring. Dazu verwende ich verkürzt folgende Bean-Konfiguration:
Die Klasse PageDaoHibernate sieht so aus:
Laut Buch und API-Doku erwartet die Methode setSessionFactory(SessionFactory sessionFactory) der Klasse HibernateDaoSupport ein Objekt vom Typ org.hibernate.SessionFactory, aber die SessionFactory in der obigen Konfiguration ist vom Typ LocalSessionFactoryBean, die aus einer anderen Vererbungshierarchie stammt und nichts mit der SessionFactory von Hibernate zu tun hat. Die SessionFactory von Spring ist aber eine FactoryFactory und kann eine Hibernate-SessionFactory erzeugen. Bloß, wie verschalte ich das und warum steht davon nichts im Buch (und auch nicht in anderen Beispielen)? Und warum gibt es bei der Ausführung zwar eine NullPointerException aber keinen Fehler wegen falschen Datentypen?
in Anlehnung an das Beispiel des Buches "Spring im Einsatz" verwende ich die Hibernate-Integration von Spring. Dazu verwende ich verkürzt folgende Bean-Konfiguration:
Code:
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="pageDao" class="ein.paket.PageDaoHibernate">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
</beans>
Die Klasse PageDaoHibernate sieht so aus:
Code:
public class PageDaoHibernate extends HibernateDaoSupport implements PageDao {
public void saveOrUpdate(Page page) {
getHibernateTemplate().saveOrUpdate(page);
}
}
Laut Buch und API-Doku erwartet die Methode setSessionFactory(SessionFactory sessionFactory) der Klasse HibernateDaoSupport ein Objekt vom Typ org.hibernate.SessionFactory, aber die SessionFactory in der obigen Konfiguration ist vom Typ LocalSessionFactoryBean, die aus einer anderen Vererbungshierarchie stammt und nichts mit der SessionFactory von Hibernate zu tun hat. Die SessionFactory von Spring ist aber eine FactoryFactory und kann eine Hibernate-SessionFactory erzeugen. Bloß, wie verschalte ich das und warum steht davon nichts im Buch (und auch nicht in anderen Beispielen)? Und warum gibt es bei der Ausführung zwar eine NullPointerException aber keinen Fehler wegen falschen Datentypen?