Ai pessoal, tenho uma aplicação que estou desenvolvendo utilizando Hibernate e JSF 2, tenho que fazer o upload de imagens em um campo BLOB, como faço o mapeamento dele no hibernate com Annottations?
Também não faço ideia de como vai ficar o Managed Bean para fazer o upload desse arquivo, o que posso usar?
Outra coisa, qual componente do JSF posso usar para fazer o upload da imagem ?
Também uso Richfaces, caso alguém conheça algo dele que possa ajudar.
ManagedBean que grava e exclui os dados no banco
@ManagedBean
public class GravaSalesianos {
private Integer sal_id;
private Integer pes_id;
private Integer cat_id;
private Integer est_id;
private String sal_site;
private String sal_email_institucional;
private String sal_unimed;
private String sal_titulo_honorifico;
private String sal_hobby;
private String sal_dados_biograficos;
private String sal_apelido;
private String sal_linguas;
private Date sal_data_falecimento;
private String sal_local_falecimento;
private String sal_pais_falecimento;
private String sal_local_enterro;
private Session sessao = CriadorDeSessaoNovo.getSession();
private Transaction tx = sessao.beginTransaction();
public List<Salesianos> getSalesianos(){
Session sessao = CriadorDeSessaoNovo.getSession();
Criteria listagem_query = sessao.createCriteria("br.salesianos.modelo.Salesianos").
createAlias("pessoas", "pe").
addOrder(Order.asc("pe.pes_nom_completo"));
List<Salesianos> lista = (listagem_query.list());
sessao.close();
return lista;
}
public void limpante() {
this.setSal_id(null);
this.setPes_id(null);
this.setCat_id(null);
this.setEst_id(null);
this.setSal_site(null);
this.setSal_email_institucional(null);
this.setSal_unimed(null);
this.setSal_titulo_honorifico(null);
this.setSal_hobby(null);
this.setSal_dados_biograficos(null);
this.setSal_apelido(null);
this.setSal_linguas(null);
this.setSal_data_falecimento(null);
this.setSal_local_falecimento(null);
this.setSal_pais_falecimento(null);
this.setSal_local_enterro(null);
}
public void gravar() {
try {
Categoria obj_cat = new Categoria();
obj_cat.setCat_id(getCat_id());
Estado obj_est = new Estado();
obj_est.setEst_id(est_id);
Pessoas obj_pes = new Pessoas();
obj_pes.setPes_id(getPes_id());
Salesianos obj_sal = new Salesianos();
if (getSal_id() != 0) {
obj_sal.setSal_id(getSal_id());
}
if (!getSal_unimed().equals("")) {
obj_sal.setSal_unimed(getSal_unimed());
}
if (!getSal_titulo_honorifico().equals("")) {
obj_sal.setSal_titulo_honorifico(AlteraLetras.retornaFrase(getSal_titulo_honorifico()));
}
if (!getSal_local_enterro().equals("")) {
obj_sal.setSal_local_enterro(AlteraLetras.retornaFrase(getSal_local_enterro()));
}
if (!getSal_site().equals("")) {
obj_sal.setSal_site(getSal_site());
}
if (!getSal_pais_falecimento().equals("")) {
obj_sal.setSal_pais_falecimento(AlteraLetras.retornaFrase(getSal_pais_falecimento()));
}
if (!getSal_local_falecimento().equals("")) {
obj_sal.setSal_local_falecimento(AlteraLetras.retornaFrase(getSal_local_falecimento()));
}
if (!getSal_linguas().equals("")) {
obj_sal.setSal_linguas(AlteraLetras.retornaFrase(getSal_linguas()));
}
if (!getSal_hobby().equals("")) {
obj_sal.setSal_hobby(AlteraLetras.retornaFrase(getSal_hobby()));
}
if (!getSal_email_institucional().equals("")) {
obj_sal.setSal_email_institucional(getSal_email_institucional());
}
if (!getSal_dados_biograficos().equals("")) {
obj_sal.setSal_dados_biograficos(AlteraLetras.retornaFrase(getSal_dados_biograficos()));
}
if (!getSal_apelido().equals("")) {
obj_sal.setSal_apelido(AlteraLetras.retornaFrase(getSal_apelido()));
}
obj_sal.setSal_data_falecimento(getSal_data_falecimento());
//verifica se salesiano faleceu em algum estado
if (getEst_id() != 0) {
obj_sal.setEstado(obj_est);
}
obj_sal.setPessoas(obj_pes);
obj_sal.setCategoria(obj_cat);
sessao.saveOrUpdate(obj_sal);
tx.commit();
sessao.close();
limpante();
FacesContext.getCurrentInstance().addMessage("FormSalesianos:gravar", new FacesMessage("Informações gravadas com sucesso!"));
} catch (Exception erro) {
System.out.println("Erro na insersão : " + erro);
tx.rollback();
sessao.close();
FacesContext.getCurrentInstance().addMessage("FormSalesianos:gravar", new FacesMessage("Falha ao gravar informações!"));
}
}
public void excluir() {
try {
Pessoas obj_pes = new Pessoas();
obj_pes.setPes_id(getPes_id());
Salesianos obj_sal = new Salesianos();
obj_sal.setSal_id(getSal_id());
sessao.delete(obj_sal);
tx.commit();
sessao.close();
limpante();
FacesContext.getCurrentInstance().addMessage("FormSalesianos:excluir", new FacesMessage("Informações excluídas com sucesso!"));
} catch (Exception erro) {
System.out.println("Erro na insersão : " + erro);
tx.rollback();
sessao.close();
FacesContext.getCurrentInstance().addMessage("FormSalesianos:excluir", new FacesMessage("Falha ao excluir informações!"));
}
}