Hibernate: org.hibernate.MappingException: Unknown entity

Durante o estudo de novas tecnologias, muitas vezes, nos deparamos com problemas simples que tomam um tempão. Esse série de posts “* Troubleshooting” detalham alguns problemas que eu tive nas novas ferramentas que estou aprendendo.

O problema agora é com Hibernate. A exceção apresentada é a seguinte:

org.hibernate.MappingException: Unknown entity: aqui/o/nome/da/Classe

Na pressa acabei cometendo o erro durante a anotação do JavaBean, na anotação @Entity. Estava importando a classe do pacote do Hibernate, enquanto que o certo seria importar do java.persistence.

//import org.hibernate.annotations.Entity; //ERRADO!!!
import javax.persistence.Entity; //CERTO!!!
@Entity
public class User {
    ...

Embora pareça um problema raro, notei que muitas pessoas já o tiveram, por isso resolvi traduzir essa solução que encontrei nesse post gringo (veja meu agradecimento nos comentários do blog do cara!).


Software Freedom Day 2009 – Porto Alegre

sfd2009O Dia da Liberdade de Software (ou Freedom Software Day em inglês) é um dia comemorado todos anos, em diversas nações, para celebrar o software livre e sistemas livres/de código aberto.  A priimeira edição ocorreu em 2004. Em 2009, o Software Freedom Day será comemorado no dia 19 de setembro.

Na edição de Porto Alegre, teremos uma programação com palestras com diversos temas relevantes no contexto de software livre. O evento ocorrerá nas dependências do SindiBancários, no turno da tarde (ver resumo abaixo!).

Eu acompanho o Software Freedom Day em Porto Alegre desde a edição do ano passado, que ocorreu no SERPRO, ocasião na qual participei da comissão de organização.

Vai um resumo então:

O que ?
Software Freedom Day 2009 – Porto Alegre/RS

Quando?
19 de setembro de 2009, das 13:30 até 18:30
Onde?
SindBancários – Porto Alegre/RS
Rua General Câmara, 424 (clique para ver no mapa)


Configurando o MySQL para acesso externo

Ontem o MySQL me deixou na mão! Estava demonstrando o funcionamento do JDBC. Como eu havia realizado apenas testes localmente, no meu Ubuntu, e durante a demonstração o acesso era realizado externamente, o software não funcionava.

A mensagem a exceção retornada era:

Communications link failure
Last packet sent to the server was 0 ms ago.

Pensei que podia ser problema nos Windows XP que estavamos usando para teste, desabilitamos o firewall do Windows, adicionamos exceções no firewall, etc… e o negócio não funcionava…

Pesquisando no Google, vi que várias pessoas tinham passado por esse problema mas em lugar nenhum eu achava a solução, até que passei a pesquisar sobre “como acessar o mysql fora do localhost” e conseguindo então resolver o problema.

Enfim, para configurar o acesso externo ao MySQL e resolver essa Exception, o procedimento é extremamente simples.

  • Acesse o arquivo /etc/mysql/my.cnf em seu editor preferido (vi, gedit, kate…) com um usuário que tenha permissões de escrita no arquivo
sudo vim /etc/mysql/my.cnf
  • Localize a seguinte linha
bind-address            = 127.0.0.1
  • Altere a linha para
# bind-address            = 127.0.0.1

Reinicie o servidor MySQL

sudo /etc/init.d/mysql restart

Simples, não!?


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 108 other followers