Olá pessoal,
Estou com a seguinte dúvida: Tenho que persistir uma FAMILIA está possui um Set
[IMG]http://img713.imageshack.us/img713/6266/grupoo.jpg[/IMG]
@Entity
@Table(name = "Familia")
public class Familia implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="idFamilia", nullable=false)
private Integer idFamilia;
@NotNull(message="O campo Código da Familia não pode ser vazio.")
@Column(name="codigoFamilia", nullable=false)
private Integer codigoFamilia;
@NotNull(message="O campo Data do Cadastro não pode ser vazio.")
@Column(name="dataCadastro", nullable=false)
@Temporal(TemporalType.DATE)
private Date dataCadastro;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "Familia")
private Set<GruposComunitariosFamilia> GruposComunitariosFamilia;
}
@Entity
@Table(name = "GruposComunitariosFamilia")
public class GruposComunitariosFamilia implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name="idGruposComunitariosFamilia", nullable=false)
private Short idGruposComunitariosFamilia;
@Size(message="O campo outrosEspecificar deve ter no maximo {max} caracteres",min = 0,max = 30)
@Column(name="outrosEspecificar", nullable=true,length = 30)
private String outrosEspecificar;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumns({
@JoinColumn(name ="idGruposComunitarios" ,referencedColumnName ="idGruposComunitarios", nullable =true )})
@ForeignKey(name="FK_GruposComunitariosFamilia_GruposComunitarios")
private GruposComunitarios GruposComunitarios;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumns({
@JoinColumn(name ="idFamilia" ,referencedColumnName ="idFamilia", nullable =true )})
@ForeignKey(name="FK_GruposComunitariosFamilia_Familia")
private Familia Familia;
}
No meu controlador está o problema eu estou conseguindo persistir a familia porem o Set
@Post
public void dadosFamilia(Familia familia, List<GruposComunitarios> GruposComunitariosFamilia){
Set<GruposComunitariosFamilia> tmp = new HashSet<GruposComunitariosFamilia>();
for (GruposComunitarios m : GruposComunitariosFamilia) {
GruposComunitariosFamilia f = new GruposComunitariosFamilia();
f.setFamilia(familia);
f.setGruposComunitarios(m);
tmp.add(f);
familia.setGruposComunitariosFamilia(tmp);
}
validator.validate(familia);
validator.onErrorForwardTo(TemplateController.class).erros();
RequestAction requestAction = verificaAcao(familia);
Set<String> erro = familiaApplication.salvarFamilia(familia,requestAction);
if(erro != null){
result.use(Results.json()).from(new MessageJson(erro, "error")).serialize();
}
else{
result.use(Results.json()).from(new MessageJson("Familia salvo com sucesso", "success","/familia/cadastrarFamilia/"+familia.getIdFamilia())).serialize();
}
}
Se alguem puder ajudar desde já agradeço ... :thumbup:
