Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro Video Aula 4 - Caelum Curso Hibernate

Boa tarde, Ao executar o código da aula 4, o hibernate não persiste os dados na conta movimentação, fazendo isso apenas com a classe conta. Na classe conta os dados são inseridos e na classe movimentação ao verificar no mysql, a tabela continua vazia. Como resolver isso? Seguem os códigos: ```package br.com.caelum.financas.teste;

import java.math.BigDecimal; import java.util.Calendar;

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;

import br.com.caelum.financas.modelo.Conta; import br.com.caelum.financas.modelo.Movimentacao; import br.com.caelum.financas.modelo.TipoMovimentacao; import br.com.caelum.financas.util.JPAUtil;

public class TesteJPARelacionamento {

public static void main(String[] args) {

Conta conta = new Conta();

conta.setTitular("Carlos"); conta.setBanco("BB"); conta.setNumero("123345"); conta.setAgencia("321");

Movimentacao movimentacao = new Movimentacao(); movimentacao.setData(Calendar.getInstance()); movimentacao.setDescricao("Conta de luz"); movimentacao.setTipoMovimentacao(TipoMovimentacao.SAIDA); movimentacao.setValor(new BigDecimal("123.9"));

movimentacao.setConta(conta);

EntityManager manager = new JPAUtil().getEntityManager();

manager.getTransaction().begin();

manager.persist(conta); manager.persist(movimentacao);

manager.getTransaction().commit(); manager.close();

} }

package br.com.caelum.financas.modelo;

import java.math.BigDecimal; import java.util.Calendar;

import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Temporal; import javax.persistence.TemporalType;

@Entity public class Movimentacao { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private BigDecimal valor;

@Enumerated(EnumType.STRING) private TipoMovimentacao tipoMovimentacao;

@Temporal(TemporalType.DATE) private Calendar data;

private String Descricao;

@ManyToOne private Conta conta;

public Conta getConta() { return conta; }

public void setConta(Conta conta) { this.conta = conta; }

public Integer getId() { return id; }

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

public BigDecimal getValor() { return valor; }

public void setValor(BigDecimal valor) { this.valor = valor; }

public TipoMovimentacao getTipoMovimentacao() { return tipoMovimentacao; }

public void setTipoMovimentacao(TipoMovimentacao tipoMovimentacao) { this.tipoMovimentacao = tipoMovimentacao; }

public Calendar getData() { return data; }

public void setData(Calendar data) { this.data = data; }

public String getDescricao() { return Descricao; }

public void setDescricao(String descricao) { Descricao = descricao; }

}

package br.com.caelum.financas.modelo;

public enum TipoMovimentacao {

ENTRADA,SAIDA;

} ```

1 resposta
solução!

Oi Thiago,

aparentemente está tudo bem com o seu código. Você recebe alguma exceção ao executar?

Abraços