Segue a baixo meu código
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Conta {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private String titular;
    private String banco;
    private String agencia;
    private String numero;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getTitular() {
        return titular;
    }
    public void setTitular(String titular) {
        this.titular = titular;
    }
    public String getBanco() {
        return banco;
    }
    public void setBanco(String banco) {
        this.banco = banco;
    }
    public String getAgencia() {
        return agencia;
    }
    public void setAgencia(String agencia) {
        this.agencia = agencia;
    }
    public String getNumero() {
        return numero;
    }
    public void setNumero(String numero) {
        this.numero = numero;
    }
    @Override
    public String toString() {
        return String.format("[%d %s %s %s %s]"  , id, titular, banco, numero, agencia);
    }
}
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.AUTO)
    private Integer id;
    @Temporal(TemporalType.DATE)
    private Calendar data;
    @Enumerated(EnumType.STRING)
    private tipoDeMovimentacao tipoDeMovimentacao;
    private BigDecimal valor;
    private String descricao;
    @ManyToOne
    private Conta conta = new Conta();
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Calendar getData() {
        return data;
    }
    public void setData(Calendar data) {
        this.data = data;
    }
    public tipoDeMovimentacao getTipoDeMovimentacao() {
        return tipoDeMovimentacao;
    }
    public void setTipoDeMovimentacao(tipoDeMovimentacao tipoDeMovimentacao) {
        this.tipoDeMovimentacao = tipoDeMovimentacao;
    }
    public BigDecimal getValor() {
        return valor;
    }
    public void setValor(BigDecimal valor) {
        this.valor = valor;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    public Conta getConta() {
        return conta;
    }
    public void setConta(Conta conta) {
        this.conta = conta;
    }
}
import java.math.BigDecimal;
import java.util.Calendar;
import javax.persistence.EntityManager;
import br.com.bercalini.jpa.JPAUtil;
import br.com.bercalini.modelo.financas.Conta;
import br.com.bercalini.modelo.financas.Movimentacao;
import br.com.bercalini.modelo.financas.tipoDeMovimentacao;
public class TestaRelacionamento {
    public static void main(String[] args) {
        Conta conta = new Conta();
        conta.setAgencia("99999");
        conta.setBanco("ITAU");
        conta.setNumero("99999");
        conta.setTitular("TESTE1");
import javax.persistence.EntityManager;
import br.com.bercalini.jpa.JPAUtil; import br.com.bercalini.modelo.financas.Conta;
public class TesteConta { public static void main(String[] args) {
Conta conta = new Conta(); conta.setAgencia("99999"); conta.setBanco("ITAU"); conta.setNumero("99999"); conta.setTitular("TESTE1");
EntityManager em = new JPAUtil().geEntityManager(); em.getTransaction().begin(); em.persist(conta); em.getTransaction().commit(); em.close(); } }
        Movimentacao movimentacao = new Movimentacao();
        movimentacao.setData(Calendar.getInstance());
        movimentacao.setDescricao("Pagar luz");
        movimentacao.setTipoDeMovimentacao(tipoDeMovimentacao.SAIDA);
        movimentacao.setValor(new BigDecimal(123.9));
        movimentacao.setId(1);
        movimentacao.setConta(conta);
        EntityManager em = new JPAUtil().geEntityManager();
        em.getTransaction().begin();
        em.persist(conta);
        em.persist(movimentacao);
        em.getTransaction().commit();
        em.close();
    }
}
fiz o meu populaConta e salvei os resultado no banco, aqui salvei 5 usuario.
1    99999    ITAU    99999    TESTE1
2    99999    ITAU    99999    TESTE2
3    99999    ITAU    99999    TESTE3
4    99999    ITAU    99999    TESTE4
5    99999    ITAU    99999    TESTE5
Até aqui tudo bem, depois eu vo popular a movimetancao e salvar no banco.
1    2016-09-14    Pagar luz    SAIDA    123.90    6
2    2016-09-14    PAGAR AGUA    SAIDA    123.90    7
E como visto o meu id da conta na tabela movimentacao, ele esta aumento cada vez 1, e era para mostrar o id da conta e não incrementar. :( onde esta o erro?