Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Tabela CONVIDADO não é criada

Segui os passos do vídeo. Cada classe esta com suas respectivas anotações mas, ao chamar o listaconvidados.html, onde ele faz a busca no banco, o console gera um erro, informando que a tabela Convidado nao exite no banco. Alguem teve algo semelhante?

3 respostas

Fala ai Marcos, de boa ?

Cara, consegue mostrar qual é a estratégia que você está usando para a criação do banco ?

Meu codigo está exatamente igual, ao que foi postado ao final da Aula 2 deste curso. Ele dá erro na ConvidadoController, na hora do findAll(). Notei, eh que ele nao mapeou os properties como hbm2dd, por exemplo. A minha entidade convidado, está assim

package br.com.alura.listavip.model;

import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id;

@Entity(name = "convidado") public class Convidado {

@Id @GeneratedValue private Long id;

private String nome; private String email; private String telefone;

public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getTelefone() { return telefone; } public void setTelefone(String telefone) { this.telefone = telefone; }

}

solução!

Consegui resolver da seguinte maneira: como tinha feito o curso de spring mvc, ele me orientou com isso. No meu caso, eu nao tinha a tabela convidado criada. Entao, substitui o metodo dataSource() da Classe Configuracao e, coloquei o seguinte método, onde ele cria a tabela:

@Bean

public LocalContainerEntityManagerFactoryBean entityManagerFactory() { LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();

factoryBean.setJpaVendorAdapter(vendorAdapter);

DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setUsername("root"); dataSource.setPassword(""); dataSource.setUrl("jdbc:mysql://localhost:3306/listavip"); dataSource.setDriverClassName("com.mysql.jdbc.Driver");

factoryBean.setDataSource(dataSource);

Properties props = new Properties(); props.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); props.setProperty("hibernate.show_sql", "true"); props.setProperty("hibernate.hbm2ddl.auto", "update");

factoryBean.setJpaProperties(props);

factoryBean.setPackagesToScan("br.com.alura.listavip.model");

return factoryBean; }