Estou usando o postgresql no lugar banco utilizado no curso, o mysql. Tudo estava dando certo, o cadastro e a listagem dos livros funcionando normal, mas ao fazer a parte de inserção dos preços, em que a tabela produto_precos é criada, com o postgres dá o seguinte erro:
Message Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement
Root Cause
org.postgresql.util.PSQLException: ERROR: relation "produto_precos" does not exist
Rodando exatamente o mesmo código com o mysql os produtos são cadastrados e a tabela é criada corretamente.
Tem alguma diferença na sintaxe para o hibernate entre o mysql e o postgres?
Segue a classe produto e o produtoDAO
@Entity
public class Produto {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String titulo;
private String descricao;
private int paginas;
@ElementCollection
private List<Preco> precos;
<!-- getters and setters-->
}
@Repository
@Transactional
public class ProdutoDAO {
@PersistenceContext
private EntityManager manager;
public void gravar(Produto produto){
manager.persist(produto);
}