Hibernate não cria o Schema

6 respostas
C

pessoal alguem pode me dizer o que esta errado ???
pq este é executado sem erro.

public class HibernateUtil {
	private static final Configuration config;
	private static final SessionFactory sessionFactory;
	
	static {
		
		AnnotationConfiguration configuracao = new AnnotationConfiguration();
		configuracao.addAnnotatedClass(br.com.cpm.dto.Produto.class);
		
		configuracao.setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect");
		configuracao.setProperty("hibernate.connection.driver_class", "org.postgresql.Driver");
		configuracao.setProperty("hibernate.connection.username","postgres");
		configuracao.setProperty("hibernate.connection.password", "postdba");
		configuracao.setProperty("hibernate.connection.url","jdbc:postgresql://localhost:5432/sistema");
		
		configuracao.setProperty("hibernate.show_sql", "true");
		configuracao.setProperty("hibernate.default_schema", "sistema");
		configuracao.setProperty("hibernate.hbm2ddl.auto", "true");
		
		
		config = configuracao;
		sessionFactory = config.buildSessionFactory();
	}
	public static Session getSession(){
		return sessionFactory.openSession();
	}
	public static StatelessSession getStatelessSession(){
		return sessionFactory.openStatelessSession();
	}
	public static Configuration getConfig(){
		return config;
	}
	
}
@Entity
@SequenceGenerator(name = "SEQ_PRODUTO", sequenceName = "SEQ_PRODUTO")
public class Produto implements Serializable{
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "SEQ_PRODUTO")
	private long id;
	
	@Column(length = 35)
	private String descricao;
	
	private BigDecimal valor;

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public BigDecimal getValor() {
		return valor;
	}

	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}
}
public static void criarSchema(){
		System.out.println("Vou Criar o Schema");
		SchemaExport se = new SchemaExport(HibernateUtil.getConfig());
		se.create(true, true);
		
		
		
		System.out.println("Schema Criado");
		
	}

Quando executo o metodo criarSchema() ele é executado sem erro algum
mas as tabelas não são criadas
alguem ja passou por isso??

6 Respostas

rodrigo_corinthians
configuracao.setProperty("hibernate.hbm2ddl.auto", "create");

Tenta isso…

C

Ja tentei tb, mas não acontece nada
nem erro não da
:roll:

rodrigo_corinthians

O user que vc está conectando tem acesso Root(grant all privileges)? Já tentou gerar com o hibernate.cfg.xml?

C

ja tentei tb com hibernate.cfg.xml e mudei para PostGre mas tb não acontece nada.

rodrigo_corinthians

Ele consegue fazer a conexão? Tentou dar um select? Acho que deve tá faltando algum jar dependente…

Cara tenta isso(acho q não tem nada a ver mais…)
No construtor do SchemaExport vc pega o objeto configuracao do AnnotationConfiguration, faz um get pra ele.

C

achei o que estava errado
na classe Produto tinha um import errado
o correto é
import javax.persistence.Entity;
e estava outro import

agora vem o scritp no console mas ainda não cria o banco.

Criado 27 de julho de 2007
Ultima resposta 27 de jul. de 2007
Respostas 6
Participantes 2