Erro de conversão

Olá pessoal andei procurando sobre o asunto e econtrei vários relacionados ao mesmo, porém tentei mas não conseguir, está acontecendo o seguinte:

Tenho duas tabelas tipos e reunião, em tipos tem a chave primária que é i_tipos, em reunião existe uma chave estrangeira de tipos que é i_tipos, as duas do tipo integer, só que queria que na tabela reunião aparecesse o nome e não o número por exemplo:

Tabela tipos
i_tipos tipo_descricao
1 Mensal


Tabela reunião

i_reuniao i_tipo i_local
1 Mensal 2


tentei fazer um converter mas tbm sem sucesso.

desde já agradeço pela ajuda.

TiposConverter.java

public class TiposConverter  implements Converter{

	public Object getAsObject(FacesContext context, UIComponent component, String value) {
		reuniao_tipo c = null;
                                 try {
                                         c = new reuniao_tipo();
                                      } catch (SQLException ex) {
                                          Logger.getLogger(TiposConverter.class.getName()).log(Level.SEVERE, null, ex);
                                                                             }
		                                             c.setTipo_descricao(value);
		                                             return c;
	                                                             }

	 public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
                                                 if (object == null) {
                                                      return null;
                                                                              }
                                                 if (object instanceof reuniao_tipo) {
                                                            reuniao_tipo o = (reuniao_tipo) object;
                                                 return o.getTipo_descricao() == null ? "" : o.getTipo_descricao().toString();
                                                       } else {
                                                                        throw new IllegalArgumentException("object " + object + " is of type " +  object.getClass().getName() + "; expected type: system.Cadastro.Tipos");
                                                                   }
                                               }

                }

Vc quer salvar no banco de dados o nome do tipos, ao inves do id?

Isso, não sei se pode, mas é isso.
porém fiz um teste aqui, que é o seguinte.

public List<SelectItem> getLocaisDeReunião() throws SQLException{
     PreparedStatement st;
     ResultSet rs = null;
     Connection Conn = Conexao.getConnection();
     List<SelectItem> ListaLocaisReuniao = new ArrayList<SelectItem>();
     try{
         st = Conn.prepareStatement("Select r.i_tipos,t.tipos_descricao from reunioes r inner join tipos t on r.i_tipos = t.i_tipos");
         st.execute();
         rs = st.executeQuery();

         while(rs.next()){
             ListaLocaisReuniao.add(new SelectItem(rs.getInt("i_tipos"), rs.getInt("i_tipos")+" - " + rs.getString("tipos_descricao")));
         }
         System.out.println("Selecionado com Sucesso!");
         st.close();
         Conn.close();
     }catch (Exception e){
         e.printStackTrace();
     }
     return ListaLocaisReuniao;
 }

Será que exite a possiblidade de fazer gravar no banco sem fazer isso acima?

Vc quer gravar o resultado do select no banco ? Como já vc descreveu suas tabelas estão normalizadas, eu recomendaria fazer o select como foi feito e manter a normalização do banco.