nem sempre (quase nunca) suas classes vão ficar iguais as tabelas do banco, as classes são orientadas a objetos, o banco de dados segue o modelo relacional*, então você tem q fazer algo chamado mapeamento objeto-relacional (ORM). Neste caso, na sua classe você ja definiu, vai colocar o array. No banco a situação é a seguinte: uma venda pode ter muitos produtos e um produto pode estar em muitas vendas, é um relacionamento N pra N, pra resolver estasituação você vai ter que fazer algo chamado normalização:
destas tabelas onde existe o relacionamento N:N surge uma nova tabela, contendo a chave primaria de cada uma destas como chave estrangeira:
só exemplificando:vc tem os seguintes produto:
id | nome
1 | camisa azul
2 | sapato verde
tem o cliente:
id | nome
10 | john doe
aí o john doe quer comprar uma camisa azul e um sapato verde, na sua classe é simples: adiciona estes 2 produtos no arraylist. no banco é assim:
você ja tem o cadastro dos produtos e do cliente, o cliente quer fazer uma compra, vc tem q fazer uma inserção em venda então, a tabela de venda vai ficar assim:
id | cliente | dia
5 | 10 | 23/10/2013
ainda não temos as informações sobre o que o john doe comprou, por causa da estrutura relacional do banco nao podemos inserir um array em uma linha, pra isso serve nossa tabela de normalizacao (a que contem apenas as chaves primarias) a gente vai inserir nela:
//tabela venda_produto:
venda_id | produto_id
5 | 1
5 | 2
deste jeito você tem todos os produtos que foram vendidos em uma venda, se fossem mais produtos vc continuaria colocando os id’s da venda e os do produto. Isso é bem chatinho de pegar o jeito no inicio, mas depois de praticar bem se torna natural ja ^^
*se não estiver falando do modelo relacional eu infelizmente não posso te ajudar =/ mas os principais são (mysql, oracle, MSsql server, postrgre)