Olá pessoal…
Estou fazendo o mapeamento no hibernate…
Gostaria de saber se eu devo incluir <set …/set>. Disseram me que precisaria quando eu fizesse uma list.
Analisando o caso: Vou fazer uma pesquisa que retorno todos os campos quando o id for igual a… No caso ele voltaria com as informações de todos os campos referente ao id correto. Eu preciso usar o set. Essa é a verdadeira função dele, caso nao seja, explique me por favor???
opa beleza?
bom no hibernate utilizo no mapeamento a tag <bag…/>
para realizar o mapeamento de listas de objetos
e o <set…/> é usado no caso por exemplo, imagine que vc tem
na sua base de dados uma entidade pessoa e outra mails
no caso sua entidade( classe ), vc tem ela da seguinte forma
possui uma coleção de e-mail, onde este é uma lista de Strings
onde da tabela mail vc apenas irá recuperar o campo do mail
para este caso tu utiliza a tag do mapeamento <set…/>
[]´s
A função do set e outros mapamentos do tipo, é mapear coleção, basicamente são relacionamentos entre as tabelas, ex.:
[code]public class Aluno{
private int id;
private String nome;
//get, set
}
public class Turma{
private int id;
private Collection alunos;
//get, set
}[/code]
Nesse caso, ao mapear a classe Turma, você usaria um mapeamento desse tipo para representar o relacionamento entre Turma e Aluno, criando dentro de Turma uma coleção de Alunos…
Se é que eu entendi o que você vai fazer (fazer uma consulta que retorna uma serie de registros do banco), não é o caso de usar isso!
Sempre que eu tenho uma chave estrangeira eu sou obrigada a ter uma colection???
Acho que vai da sua utilização, eu não crio para toda chave extrangeira, as vezes vc tem cidade e uf por exemplo, mas em nenhum momento quer saber quais são as cidades da sua uf (o que seria uma coleção), apenas qual é a uf da sua cidade, então você só mapeia a uf na cidade… seila é assim pelo menos que eu uso… pode não ser o certo, mas “funca” hehehe
Por exemplo eu quero fazer uma consulta numa classe em que volte uma coleção de números de conta com a agência de tal número. Eu tenho que usar o set ???
Não, você pode ter objetos agencia e conta, a conta possui id da agencia, ai vc faz uma consuta colocando como criterion que o numero da agencia seja a que você quer, ai ele te devolve uma lista de contas…
onde seus pojos saum:
Conta
Class Conta
int id;
int numero;
Agencia agencia
Class Agencia
int id;
e numa pesquisa para conta, você adiciona o criterion:
Restrictions.eq("agencia.id", numero)
Pelo menos assim eu faço…
O problema é que uma agencia tem várias contas e quero retorna contas por agencia…Não por id…