Spring 2.5 + hibernate 3.2 - Controle de transações

Alguém tem algum material sobre como controlar transações usando hibernate e spring?
Um exemplo com código porque a do site fala muito teoricamente como funcionaria as coisas.

brother, foi lançado esse ano um livro q eu acho q vai te ajudar:
Java na Web com JSF, Spring, Hibernate e NetBeans6.
ele é pequeno e barato (160 paginas e uns R$35,00).
e no livro traz um exemplo desse q vc quer. se nao tiver afim de comprar o livro, entra no site da editora: www.lcm.com.br e baixa o código !!
se nao achar, me manda um MP q te mando o código

Eu vi lá o material, mas não entendi direito, ele mistura JPA+hibernate+spring???

pelo q eu entendi JPA é a especificação criada pela SUN para persistência com o BD.
e o JPA utiliza o hibernate (ou outro framework) para implementar as requisições que são enviadas ao BD.

Sim, posso usar JPA utilizando o hibernate?O exemplo do livro é entendivel para quem o tem em mãos…
Fico perdido onde procurar as coisas, sei o que seria a JPA, mas não sei como usar jpa+hibernate+spring 2.5 para controlar minhas transações.
Entende?

Na verdade, o JPA é a especificação criada pela Sun que nada mais é que a implementação usada pelo pessoal que desenvolveu o Hibernate.

Pode se dizer que o JPA nasceu do Hibernate.

Não tem porque então você querer utilizar JPA + Hibernate, até porque uma vez utilizando Hibernate, vc já tem tudo o que é necessário para persistir objetos. E o mesmo acontece com o JPA.

Eu uso muito a combinação Spring + Hibernate. O Spring tem um suporte muito bom ao Hibernate através da implementação da classe HibernateTemplate.

Eu uso, para controle de transações uma annotation:

...
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;


/**
 * Class : BaseDaoImpl.java
 * Version : 0.1
 * User : Márcio Alves Barroso - Date : 21/01/2008 - Time : 23:48:09
 */
@Transactional(propagation = Propagation.REQUIRED)
public abstract class BaseDaoImpl<T> implements BaseDao<T>, PropertySelector {

...

[]'s

Lendo aqui vi que você pode apenas definir usando

E marcando suas transações como @Transactional.
é só isso mesmo??