Bom dia pessoal,
Tentei encontrar algo no tutorial e no google mas não encontrei, gostaria de saber se é possível setar uma entidade no próprio formulário. Eu tenho uma associação simples do tipo:
public class ClasseA (
//associação simples
private ClasseB classeB;
private String descricao;
}
Antes de abrir o form de A, no Controller eu localizo a instancia de B, e mando para o form de A. Até ai tudo bem, no form eu consigo acessar os valores da classeB e fazer algo do tipo:
<input type="hidden" name="classeB.id" value="${classeB.id}">
<input type="text" name="classeA.descricao" value="${classeA.descricao}">
Quando chamo o salvar do Controller, eu estou utilizando:
public void salvar(ClasseB b, ClasseA a) {
//Se eu não fizer isso dá erro no JPA "detached error"
a.setClasseB(daoClasseB.localizar(b.getId));
daoClasseA.salvar(a);
}
Funciona, mas estou tentando seguir todas as convenções, consegui fazer funcionar seguindo meu instinto e isso me pareceu "gambiarra". Tem um método mais certo de fazer isso? Eu já tentei fazer a associação direto no form mas não deu certo.
<input type="hidden" name="classeA.classeB" value="${classeB}">
Pareceu algo intuitivo a fazer, já que tenho o objeto da classeB no form e consigo acessá-lo, porque não associá-lo diretamente na classe A, mas não funcionou. =\