Tela de Vendas

Boa tarde…

Tenho que fazer uma tela de vendas para a universidade e tenho as seguintes dúvidas:

quando eu adiciono um produto através do botao adicionar produto onde a tela de consulta produto é aberta, eu seleciono um produto e ele volta para o JTable que tenho na tela… Assim sendo como posso pegar os valores de toda a lista de produtos da JTable e jogar em um objeto list. Depois
como posso pegar o código da venda e jogar no itemVenda e gravar as duas entidades ao mesmo tempo?

Meu método grava:

public void grava(Object objeto) {
		System.out.println("Gravando objeto em " + objeto);
		logger.info("Gravando objeto em " + objeto.getClass().getSimpleName());
		SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
		Session session = HibernateUtil.openSession();
		Transaction t = session.beginTransaction();
		session.saveOrUpdate(objeto);
		t.commit();
		session.close();
		//HibernateUtil.shutdown();
}

Meu método getDados()


public Map getDados() {
		
		Map dados = new HashMap();
		
		Venda v = new Venda();
		ProdutoVenda pv = new ProdutoVenda();
		
		v.setCliente((Cliente)jcbClienteVenda.getSelectedItem());
		v.setData(jdcDataVenda.getDate());
		
		//aqui tenho que gravar vendas e itensVenda mandando
		//um unico objeto para o metodo grava
		
		
		
		
		dados.put("venda", v);
		return dados;
	}

Se puderem me ajuda agradeço…