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?