Carregamento Lazy

0 respostas
fabianofrizzo

Boa Tarde Pessoal...

To com uma pequena duvida aqui..

Seguinte tenho as Classes Produto e Estoque..

@Entity
@Table(name="tbProduto", schema="public")
public class Produto implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	@SequenceGenerator(name="genProd", sequenceName="genProd", initialValue=1)
	@GeneratedValue(generator="genProd", strategy=GenerationType.AUTO)
	private Integer proCod;
	
	private Boolean proAtivo;
	
	private String proDesc;
	private String proDescReduz;
	private String proUndCompra;
	private String proUndVenda;
	private BigDecimal proFatorCompra;
	private BigDecimal proFatorVenda;
	
	@OneToMany( fetch=FetchType.LAZY, cascade={CascadeType.PERSIST})	
	@JoinColumn(name="proCod_fk")
	private List<Estoque> estoques;

}
@Entity
@Table(name="tbEstoque", schema="public")
public class Estoque implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	@SequenceGenerator(name="genEst", sequenceName="genEst", initialValue=1)
	@GeneratedValue(generator="genEst", strategy=GenerationType.AUTO)
	private Integer estCod;

	@Temporal(value=TemporalType.DATE)
	private Date estDataCadastro;
	
	private BigDecimal estQtde;
	private BigDecimal estCusto;
	private BigDecimal estMargemFixa;
	private BigDecimal estMargemAtual;
	private BigDecimal estPrecoVenda;
	
	@Temporal(value=TemporalType.DATE)
	private Date estOfertaDe;
	
	@Temporal(value=TemporalType.DATE)
	private Date estOfertaAte;
	private BigDecimal estPrecoOferta;
}[code]

Em Produtos tenho um relacionamento OneToMany com carregamento Lazy e esse carregamento é unidirecional.. Porem se eu carrego uma lista de produtos da seguinte forma

[code]	@Override
	public List listAll() throws Exception {
        this.hasObjectClass();      // VERIFICA SE HA Object.class
        this.hasSession();          // VERIFICA SE HA UMA SESSION.
        Criteria criteria = session.createCriteria(this.objClass);
        final List<T> result = criteria.list();
        return result;
	}

Ai em estoque no produto não fica NULL lá fica com algo do tipo PersistentBag.. Não consegui entender muito bem o porque disso..

Teria alguma forma de fazer ele carregar somente os produtos com o estoque NULL..

Preciso disso pois estou usando FLEX na camada de visão e ele é meio chatinho ainda não trata questões como o LAZY..

Obrigado pela atenção de todos.

Criado 4 de setembro de 2008
Respostas 0
Participantes 1