Capitulo 3 - Cadastro de Produtos - Erro: JPA EntityManager for transaction

spring-mvc

#1

Estou seguindo o livro para fazer o Cadastro de Produto,

A minha classe ProductDAO está assim:

@Repository
public class ProductDAO {

@PersistenceContext
private EntityManager manager;

public void save(Product product) {
	manager.persist(product);
}

}

Minha Classe Product:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;

@Entity
public class Product {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@NotBlank
private String title;
@Lob
@NotBlank
private String description;
@Min(30)
private int pages;

public String getTitle() {
	return title;
}
public void setTitle(String title) {
	this.title = title;
}
public String getDescription() {
	return description;
}
public void setDescription(String description) {
	this.description = description;
}
public int getPages() {
	return pages;
}
public void setPages(int pages) {
	this.pages = pages;
}

}

Minha classe Controller:
@Controller
@Transactional
public class IndexController {

	@Autowired
	private ProductDAO productDAO; 
	
 	@ RequestMapping("/index") 
	public String save(Product product) {
 		productDAO.save(product);
	 	return "products/ok";
	 }
 
	 @ RequestMapping("/index/form") 
	 public String form() {
		return "products/form";
	 }
	
 }

Porém ao executar, dá a seguinte mensagem de erro:

org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection.

Alguém tem alguma idéia do que posso estar fazendo de errado?