[Resolvido]Problemas ao inserir entidade com Hibernate + JPA

Boa noite pessoal,
Sou iniciante com relação ao Hibernate; bem, eu gostaria de inserir uma entidades mais de uma vez - tipo, eu recebo um lista de parâmetros provindos de um formulário, distrincho usando um for e nessa mesma estrutura de repetição insiro minha entidade várias vezes. No entanto, insere-se apenas uma vez. Segue o código abaixo:

Recebo meus parâmetros:

           String codProduto[] = request.getParameterValues("codProduto");
		String quantidade[] = request.getParameterValues("quantidade");
		String valor[] = request.getParameterValues("valorUnitario");

Insiro minha entidade ItemPedido:

for(int i = 0; i<codProduto.length;i++){
			ItemPedido.setCodPedido(Pedido.getCodPedido());
			ItemPedido.setCodProduto(Integer.parseInt(codProduto[i]));
			ItemPedido.setQuantidade(Integer.parseInt(quantidade[i]));
			ItemPedido.setValorUnitario(Double.parseDouble(valor[i]));
			itemDAO.inserir(ItemPedido);
		}

Entidade ItemPedido:

package br.edu.ifbaiano.entidade;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "ItemPedido")
public class ItemPedido extends Entidade {
	@Id
	@GeneratedValue (strategy = GenerationType.AUTO)
	private int idItem;
	@Column(name = "produto_CodProduto", nullable = false)
	private Integer codProduto;
	@Column(name = "pedido_CodPedido", nullable = false)
	private Integer codPedido;
	private Integer quantidade;
	private Double valorUnitario;

	public int getIdItem() {
		return idItem;
	}

	public void setIdItem(int idItem) {
		this.idItem = idItem;
	}

	public Integer getCodProduto() {
		return codProduto;
	}

	public void setCodProduto(Integer codProduto) {
		this.codProduto = codProduto;
	}

	public Integer getCodPedido() {
		return codPedido;
	}

	public void setCodPedido(Integer codPedido) {
		this.codPedido = codPedido;
	}

	public Integer getQuantidade() {
		return quantidade;
	}

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

	public Double getValorUnitario() {
		return valorUnitario;
	}

	public void setValorUnitario(Double valorUnitario) {
		this.valorUnitario = valorUnitario;
	}

}

Desde já, agradeço a atenção.

Isso é um problema de orientação à objetos e não de Hibernate…

for(int i = 0; i&lt;codProduto.length;i++){ ItemPedido.setCodPedido(Pedido.getCodPedido()); ItemPedido.setCodProduto(Integer.parseInt(codProduto[i])); ItemPedido.setQuantidade(Integer.parseInt(quantidade[i])); ItemPedido.setValorUnitario(Double.parseDouble(valor[i])); itemDAO.inserir(ItemPedido); }

Quando você faz isso, você altera o MESMO OBJETO várias vezes… Por mais que você mande salvar, o hibernate trabalha com objetos, e ai vc manda alterar o mesmo objeto…

Solução: trabalhe com objetos diferentes. Assim:

for(int i = 0; i&lt;codProduto.length;i++){  
ItemPedido item = new ItemPedido();
            item.setCodPedido(Pedido.getCodPedido());  
            item.setCodProduto(Integer.parseInt(codProduto[i]));  
            item.setQuantidade(Integer.parseInt(quantidade[i]));  
            item.setValorUnitario(Double.parseDouble(valor[i]));  
            itemDAO.inserir(item);  
        }  

Era isso mesmo! Muito obrigado amigo!! Pow, sou iniciante msm…estudar mais rs’…