Input usando rich:datatable

Boa tarde pessoal.

Estou tentando inserir a quantidade de itens diretamente em uma rich:datatable, entretanto, apesar do bind estar correto, ele não faz o set no atributo do bean.
Segue a página:

<rich:dataTable value="#{produtos}" var="_produto"
									id="produtosDataTable" rows="15">
									<rich:column>
										<f:facet name="header">Quantidade</f:facet>
										<h:inputText value="#{_produto.quantidade}" size="2" />
									</rich:column>

									<rich:column sortBy="#{_produto.categoria}"
										filterBy="#{_produto.categoria}" filterEvent="onkeyup">
										<f:facet name="header">Categoria</f:facet>
										<h:outputText value="#{_produto.categoria}"></h:outputText>
									</rich:column>

									<rich:column sortBy="#{_produto.nome}"
										filterBy="#{_produto.nome}" filterEvent="onkeyup">
										<f:facet name="header">Produto</f:facet>
										<h:outputText value="#{_produto.nome}"></h:outputText>
									</rich:column>
                                                                       
                                                                        <rich:column>
									<h:commandButton
											action="#{listaComprasItensManager.adicionar}"
											value="Adicionar a Lista" />
									</rich:column>

									<f:facet name="footer">
										<rich:datascroller for="produtosDataTable" />
									</f:facet>

								</rich:dataTable>

O atributo quantidade não está sendo populado no EntityBean. Ele é um atributo transient e possui get e set normalmente.

Segue a classe:

@Name("produto")
@Entity
public class Produto implements Serializable{
	
	private static final long serialVersionUID = 2375123736077052214L;
	private Integer id;
	private String codigo;
	private String categoria;
	private String nome;
	private String descricao;
	private Double valor;
	private Double valorPromocional;
	private Calendar validadeValorPromocional;
	private Double valorVigente;
	private byte[] imagem;
	private String tipo;
	private Usuario mantenedor;
	private Integer quantidade;
	
	public Produto() {}

	@Id
	@SequenceGenerator(name="produto_seq_id", sequenceName="produto_seq_id")
	@GeneratedValue(generator="produto_seq_id", strategy=GenerationType.AUTO)
	public Integer getId() {
		return id;
	}

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

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescricao() {
		return descricao;
	}

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

	public Double getValor() {
		return valor;
	}

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

	@Column(name="valor_promocional")
	public Double getValorPromocional() {
		return valorPromocional;
	}

	public void setValorPromocional(Double valorPromocional) {
		this.valorPromocional = valorPromocional;
	}

	@Column(name="validade_valor_promocional")
	public Calendar getValidadeValorPromocional() {
		return validadeValorPromocional;
	}

	public void setValidadeValorPromocional(Calendar validadeValorPromocional) {
		this.validadeValorPromocional = validadeValorPromocional;
	}

	@Transient
	public Double getValorVigente() {
		if((validadeValorPromocional == null) || (validadeValorPromocional.before(DataHora.getData(new Date(), "yyyy-MM-dd hh:mm")))){
			valorVigente = valor;
		}else{
			valorVigente = valorPromocional;
		}
		return valorVigente;
	}

	public void setValorVigente(Double valorVigente) {
		this.valorVigente = valorVigente;
	}

	@Lob
	@Basic(fetch=FetchType.LAZY)
	public byte[] getImagem() {
		return imagem;
	}

	public void setImagem(byte[] imagem) {
		this.imagem = imagem;
	}
	
	@Column(name="tipo_arquivo")
	public String getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	
	@ManyToOne(cascade=CascadeType.ALL)
	public Usuario getMantenedor() {
		return mantenedor;
	}

	public void setMantenedor(Usuario mantenedor) {
		this.mantenedor = mantenedor;
	}

	@Transient
	public Integer getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(Integer quantidade) {
		this.quantidade = quantidade;
	}

}

Alguem sabe o que pode estar acontecendo?

Boa tarde Pessoal.

Continuo com o mesmo problema, pesquisei bastante no Oráculo e aquim entretanto, não sei qual seria o problema com a <rich:dataTable>, será que ela não permite que se coloque <h:inputText> na <rich:column>?

Obrigado a todos.

A lista de produtos está armazenada na sessão?
Se não estiver ele acaba se perdendo na hora do submit.

Por enquanto só consigo pensar nisso, se tiver mais idéias eu volto…

Na verdade, o ManagedBean que manipula EntityBean é de escopo de conversação (estou usando JBoss Seam), será que se eu mudar o escopo pra sessão ele pega?
No momento, não estou na maquina com o código, vou testar ainda hoje esta mudança de escopo e posto o resultado !!!

Vlw pela ajuda!