Fala galera tudo na paz. A minha dúvida e a mesma de sempre sobre mapeamento e relacionamento entre classes, eu peguei um exemplo postado lá do fórum do javafree, mais que eu não conseguir compreender muito bem.
A situação seria assim um cliente pode alugar vários filmes e um filme pode ser alugado por mais de um cliente.
Classe Cliente:
import java.util.Set;
/*
* Created on 24/07/2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author foguinho
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Cliente {
private int id;
private String nome;
private Set alugar; // Um cliente pode fazer vários aluguéis!
public Cliente() {
}
// Sets e gets dos atributos
/**
* @return Returns the id.
*/
public int getId() {
return id;
}
/**
* @param id The id to set.
*/
public void setId(int id) {
this.id = id;
}
/**
* @return Returns the nome.
*/
public String getNome() {
return nome;
}
/**
* @param nome The nome to set.
*/
public void setNome(String nome) {
this.nome = nome;
}
public void addAluguel(Alugar a) {
alugar.add(a);
}
}
Classe Filme:
import java.util.Set;
/*
* Created on 24/07/2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author foguinho
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Filme {
private int id;
private String nome;
private String genero;
private Set alugar; // Um filme pode ser alugado várias vezes
public Filme() {
}
// Sets e gets dos atributos
/**
* @return Returns the genero.
*/
public String getGenero() {
return genero;
}
/**
* @param genero The genero to set.
*/
public void setGenero(String genero) {
this.genero = genero;
}
/**
* @return Returns the id.
*/
public int getId() {
return id;
}
/**
* @param id The id to set.
*/
public void setId(int id) {
this.id = id;
}
/**
* @return Returns the nome.
*/
public String getNome() {
return nome;
}
/**
* @param nome The nome to set.
*/
public void setNome(String nome) {
this.nome = nome;
}
public void addAluguel(Alugar a) {
alugar.add(a);
}
}
Classe Alugar:
/**
* @author foguinho
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Alugar {
private int clienteId;
private int filmeId;
public Alugar() {
}
// Sets e gets dos atributos
//public Set getCliente() {
//}
public void setCliente(Cliente cli) {
this.clienteId = cli.getId();
cli.addAluguel(this);
}
//public Set getFilme() {
//}
public void setFilme(Filme fil) {
this.filmeId = fil.getId();
fil.addAluguel(this);
}
}
Na classe Alugar como seria o método getCliente() é o método getFilme(), então é isso aí galera desde de já agradeço pela paciência e pela atenção e espero que vocês possam me ajudar nessa dúvida cruel sobre relacionamento. Ah se der pra fazer um exemplozinho inserindo e recuperando dados da classe filme e cliente eu ficaria muito agradecido.