@kingaschi
My opinion changes from day to day even after using hibernate for 2 years now
If everything goes well, hibernate is really great, if you have a bug, you curse the day you started with that mess.
So I don’t know if I like it. There is a nice abstraction for relations and such, but then again I constantly shooting myself in the foot with hibernate sessions, lazy loading, custom types etc. 
@ENC
Yes:
<!-- This is an example for using hibernate with Annotations in spring -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>[yourannotatedclass1]</value>
<value>[yourannotatedclass2]</value>
<value>[yourannotatedclassN]</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/[yourdatasource]<value>
</property>
</bean>
<!-- Now you can use set the sessionFactory as property of your service class and use it to query the database -->
<bean id="yourservice" class="[yourserviceclass]">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>