Relacionamento de tabelas

5 respostas
E

Gostaria de saber a lógica da seguinte situação:

Tenho 1 cliente, e nele vc poderá salvar 1 ou mais imagens.

Eu criei 2 tabelas: clientes e imagensClientes.

criei uma chave estrangeira entre as duas tabelas pela código.
Na mesma tela tenho o cadastro do cliente com a opção de selecionar 1 ou várias imagens e salva-la.

Queria saber o seguinte: Vai ter q possuir 2 salvar? pois ela estão em tabelas distintas.

Obrigado.

5 Respostas

drsmachado

Veja bem, muita hora nessa calma.
Primeiro, as imagens são atributos do cliente? Se sim, no mesmo método que realiza o insert do cliente, você pode realizar os inserts das imagens. Ou pode optar por fazer em outra classe.
Mas, independente disto, se está utilizando JDBC, sim, será preciso realizar N inserts, o do cliente, depois um select para obter a chave do mesmo e vários inserts até persistir todas as imagens.

E

Obrigado por responder drsmachado!

Eu coloquei os atributos separados. E só vinculei elas pela Id.
Ficou assim:

Clientes:

cod_cliente;

nome_cliente;

ImagensClientes;

cod_imagens;

cod_cliente;

caminho_imagen;

Pelo q entendo a unica relação seria pela ID. certo?

drsmachado

Essa é a relação no banco de dados? Ou das classes?
Se for no banco, está correta. Senão, está fora do contexto.
Lembre-se, programar orientado a objetos não é programar de forma estruturada.
Por que, se as imagens são relacionadas com o cliente, por que não as torna atributo deste cliente, através de uma lista?

E

Na verdade essa relação coloquei no banco e nas classes. Mas você comentou algo muito interessante que seria o retorno de uma List.
Vou tentar implementar algo nesse sentido. Já conversamos.

drsmachado

efc:
Na verdade essa relação coloquei no banco e nas classes. Mas você comentou algo muito interessante que seria o retorno de uma List.
Vou tentar implementar algo nesse sentido. Já conversamos.


Independente de como o banco seja criado, as classes podem ser assim

//ImagemCliente
private Long codigoImg;
private String caminhoImg;
//getters e setters
//Cliente
private Long codigo;
private String nome;
private List<ImagemCliente> imagens;
//getters e setters
Criado 15 de maio de 2012
Ultima resposta 15 de mai. de 2012
Respostas 5
Participantes 2