Olá,
Estou com uma dúvida conceitual. Bom, vamos desde o começo.
Suponha que eu tenha uma entidade Grupo e uma entidade SubGrupo. O relacionamento entre elas é que um subgrupo pertence a um grupo. Se fomos modelar as classes, teremos algo assim:
class Grupo {
...
}
class SubGrupo {
...
private Grupo grupo;
...
public Grupo getGrupo() {
return grupo;
}
public void setGrupo(Grupo grupo) {
this.grupo = grupo;
}
}
Bom, teremos uma agragação de um grupo na classe subgrupo.
Agora criaremos os DAO’s para grupo e subgrupo. Cada dao será responsável por carrega / salvar uma entidade. Então, o dao de grupo salva e carrega entidades do tipo grupo, enquanto o dao de subgrupo faz a mesma coisa só que para entidades do tipo subgrupo.
Imaginem o seguinte cenário:
Uma tela de cadastro de grupo. Você pode alterar todas as informações do grupo e mandar salvar. Bom, vamos supor que no código a gente fez algo assim:
subgrupo.setNome("123");
subgrupo.getGrupo().setNome("teste 123");
E nossos DAO’s foram implementados com o hibernate. Na hora que chamamos:
public void atualizar(Subgrupo subgrupo) {
session.update(subgrupo);
}
O hibernate irá atualizar os dados do subgrupo bem como os dados do grupo. Isto não é incorreto? O nosso DAO dos subgrupos não deveria somente atualizar os dados do subgrupo?
Como vocês lidam com essa situação?
Abraços,
Fabio