Bom tarde gostaria dois esclarecimentos, como identificar no código a relação um para um e um para muitos .? A outra pergunta como diferenciar no código a diferença entre a composição e a agregação.
Podem ajudar? grato
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom tarde gostaria dois esclarecimentos, como identificar no código a relação um para um e um para muitos .? A outra pergunta como diferenciar no código a diferença entre a composição e a agregação.
Podem ajudar? grato
Oi Wagner, tudo bem?
As relações "um-para-um", "um-para-muitos" e assim por diante, podem ser identificadas através da composição, usando ou a outra classe como atributo ou uma lista que guarda referências da outra classe. Usando como exemplo o código presente nesse tópico do GUJ:
Nesse caso, temos uma relação de muitos-para-muitos, repare que para representar isso usamos uma lista em cada classe:
public class Aluno {
private int codigo;
private List<Materia> materias;
}
public class Materia {
private int codigo;
private List<Aluno> alunos;
}Se quisermos representar a relação um-para-muitos, podemos fazer a referência através da composição, usando a outra classe como atributo:
public class Aluno {
private int codigo;
private Materia materia;
}
public class Materia {
private int codigo;
private List<Aluno> alunos;
}Agora, quando lidamos com a diferença entre composição e agregação, a diferença é apenas conceitual. Ou seja, batendo o olho no nosso código, ambas serão representados pela composição, apenas analisando a modelagem do nosso projeto podemos diferenciar uma do outra. Vou deixar aqui um tópido aberto no Stack Overflow que discute o assunto com maior profundidade.
Esse é um assunto que pode se estender bastante, mas o importante é lembrar que o que foi modelado nem sempre poderá ser passado para a implementação do código com exatidão. Mais para frente, no curso de JPA, abordaremos os relacionamentos e como fazer suas configurações. Acredito que com as aulas tudo ficará mais claro!
Espero ter ajudado, qualquer coisa estamos à sua disposição!
Bons estudos!!
Muito Obrigado Thiago você foi 10 garoto!!