Salvar ArrayList no banco de dados

Boa noite pessoal, estou fazendo um carrinho de compras com JSF e JPA, mas a minha dúvida é a seguinte, eu tenho o carrinho, adiciono os produtos em um arraylist nele que fica na sessão, retorno o valor de todos os produtos e as quantidades em um dataTable, mas como eu faço pra gravar esses produtos em um pedido? Já fiz o modelo do pedido com os dados do cliente, mas como integro esses produtos que esse pedido tem que receber? Obrigado desde já

Assim está o código do meu carrinho:
@ManagedBean
@SessionScoped
public class Carrinho {

    	private ArrayList<Produto> produtos = new ArrayList<Produto>();

    	public ArrayList<Produto> getProdutos() {
    		return produtos;
    	}

    	public void setProdutos(ArrayList<Produto> produtos) {
    		this.produtos = produtos;
    	}
    	
    	
    	public Produto getProduto(int id) {
    		Produto mp = null;
    		for(Produto p : produtos) {
    			if(p.getId() == id) {
    				return p;
    			}
    		}
    		return mp;
    	}
    	
    	public void adiciona(Produto p) {
    			produtos.add(p);
    		}
    	
    	public void adicionar(int id) {
    		Produto p = getProduto(id);
    			p.setQtdCarrinho(p.getQtdCarrinho()+1);
    	}
    	public void remover(int id) {
    		Produto p = getProduto(id);
    		if(p.getQtdCarrinho() > 1) {
    			p.setQtdCarrinho(p.getQtdCarrinho()-1);
    		}else {
    			produtos.remove(p);
    		}
    	}
    	 public void removerGeral(int id) {
    		 Produto p = getProduto(id);
    		 produtos.remove(p);
    	 }
    	 public double total() {
    			double total = 0.;
    			for(Produto produto : produtos) {
    			total += produto.getPreco() * produto.getQtdCarrinho();
    				}
    			return total;
    			}
    }

Cara no meu ponto de vista essa é uma questão de modelagem de bando de dados!

Adotando Pedido, Cliente e Produto como entidades de uma banco de dados!
tem que haver uma tabela para relacionar Cliente_Pedido ou Pedido pode manter a referencia de Cliente em um de suas coluna e outra tabela Produto_Pedido!

O banco possuindo esse relacionamento você vai poder obter os pedidos de um cliente e os produto do pedido!
Essa modelagem em JPA é feita criando List em ambas da classe e mapeado um dos lados e colocando a referencia do mapeamento do outro.
Video Do Youtube Sobre Mapeamento ManyToMany
Duvida%20de%20ArrayList

Espero ter ajudado!

aaaaaaaaaaaaaah agora eu entendi, tinha feito a tabela pedido mas n tava entendendo como relacionar, então é o @ManyToMany que vou usar. Obrigado pela ajuda!