Pessoal,
Estou com um problema ao recuperar os dados no JPA.
Tenho um classe que relaciona com outra classe. Segue abaixo:
Classe “PagamentoMaterial” que contem um relacionamento com Classe “Apostila”
.
.
@JoinColumn(name="ChaveApostila", nullable=true, insertable=false, updatable=false)
@OneToOne()
private Apostila oApostila;
.
.
Classe “Apostila”
@Entity
@Table ( name = "Apostilas" )
public class Apostila implements Serializable {
@Id
@Column(name = "ChaveApostila", nullable = false)
private String chaveApostila;
@Column(name = "Nome", nullable = false)
private String descricao;
@Column(name = "valor", nullable = false)
private Double valor;
@Column(name = "Requerimento", nullable = false)
private Integer requerimento;
//gets e sets
Basicamente, quando preciso recuperar os dados faço assim:
EntityManager em = null;
try {
em = HibernateJPA.getEntityManager();
em.getTransaction().begin();
return (List<PagamentoMaterial>) em.createQuery("SELECT e from PagamentoMaterial e ").getResultList();
.
.
Beleza?
Isso funciona perfeitamente, o grande problema é que, quando faço a conexão com o banco de dados e executo o metodo que retorna esses dados, tudo vem prefeito. [color=blue] Porém quando eu gravo um novo registro de PagamentoMaterial no banco de dados, e após isso eu recupero os dados novamente, utilizando o método acima, ele me retorna todos os registros corretos, exceto o que acabei de incluir. O que acabei de incluir, ele me retorna sem o relacionamento com Apostila, o campo vem null. Se fecho o sistema e abro novamente, vem tudo correto (inclusive os ultimos gravados). [size=16] [/size][/color]
Alguem tem alguma idéia de que possa ser?