Pessoal, to começando agora com Hibernate e tenho algumas dúvidas:
1 - Quando preciso declarar um atributo para busca ou de return string descricao de uma chave estrangeira, por exemplo:
@Entity
public class Entidade{
@Id
private Long id;
private String nome;
private Integer ativo; //existe um campo na tabela com este nome
private String ativo_string; //NÃO existe campo na tabela com este nome, só para retornar SIM p/ ativo = 1 ou NÂO p/ ativo = 0
private String busca;//Para filtrar um List
//--Get and Set--
}
Se eu fizer isso dá erro informando que não existe colunas na tabela do banco de dados com os nome ativo_string e busca. Como devo proceder nestes casos ?
2 - Como preencher uma List utilizando o hibernate com um select descrito abaixo ? (Select usado com prepareStatement):
sql = cnct.conn.prepareStatement
(" SELECT distinct t.* " +
" FROM( "+
" SELECT w.id_workflow, "+
" w.descricao, "+
" w.quantidade_aprovacoes, "+
" NVL(w.criterio_inicio,' ')criterio_inicio, "+
" Decode(w.modo_notificacao,1,'Por Evento','Agrupado'), "+
" w.tempo_limite || ' minutos', "+
" w.id_tabela_base, "+
" w.id_grupo_workflow, "+
" gw.descricao grupo, "+
" tb.descricao tabela, " +
" Decode(w.prioridade,null,' ',w.prioridade)prioridade "+
" FROM wf_workflow w, "+
" wf_grupo_workflow gw, "+
" wf_tabela_base tb, "+
" wf_workflow_item wi "+
" WHERE w.id_grupo_workflow = ? "+
" AND w.id_workflow = wi.id_workflow "+
" AND w.id_grupo_workflow = gw.id_grupo_workflow "+
" AND w.id_tabela_base = tb.id_tabela_base "+
" AND wi.username = Upper(?) "+
" UNION ALL "+
" SELECT w.id_workflow, "+
" w.descricao, "+
" w.quantidade_aprovacoes, "+
" NVL(w.criterio_inicio,' ')criterio_inicio, "+
" Decode(w.modo_notificacao,1,'Por Evento','Agrupado'), "+
" w.tempo_limite || ' minutos', "+
" w.id_tabela_base, "+
" w.id_grupo_workflow, "+
" gw.descricao grupo, "+
" tb.descricao tabela, " +
" Decode(w.prioridade,null,' ',w.prioridade)prioridade "+
" FROM wf_workflow w, "+
" wf_grupo_workflow gw, "+
" wf_tabela_base tb "+
" WHERE w.id_grupo_workflow = ? "+
" AND w.id_grupo_workflow = gw.id_grupo_workflow "+
" AND w.id_tabela_base = tb.id_tabela_base "+
" AND Not Exists (Select 1 From wf_workflow_item i "+
" Where i.id_workflow = w.id_workflow) "+
" )t "+
"ORDER BY t.prioridade, " +
" t.id_workflow");
sql.setString(1, id_grupo_workflow);
sql.setString(2, filtro_workflow);
sql.setString(3, id_grupo_workflow);