Para evitar problemas com encoding de caracteres especiais é bom utilizar em suas classes Java código unicode ao invés de letras acentuadas. Abaixo relaciono uma tabela de alguns dos caracteres especiais que mais usamos no dia a dia com seu cógigo unicode:á = \u00e1à = \u00e0â = \u00e2ã = \u00e3ä = \u00e4Á = \u00c1À = \u00c0Â = \u00c2Ã = \u00c3Ä = \u00c4é = \u00e9è = \u00e8ê = \u00eaê = \u00eaÉ = \u00c9È = \u00c8Ê = \u00caË = \u00cbí = \u00edì = \u00ecî = \u00eeï = \u00efÍ = \u00cdÌ = \u00ccÎ = \u00ceÏ = \u00cfó = \u00f3ò = \u00f2ô = \u00f4õ = \u00f5ö = \u00f6Ó = \u00d3Ò = \u00d2Ô = \u00d4Õ = \u00d5Ö = \u00d6ú = \u00faù = \u00f9û = \u00fbü = \u00fcÚ = \u00daÙ = \u00d9Û = \u00dbç = \u00e7Ç = \u00c7ñ = \u00f1Ñ = \u00d1& = \u0026' = \u0027Para colocar o código Unicode em uma String basta substituir o caracter pelo código. Exemplo: String s = "Programando sem cafe\u00edna";O código do método que usei para gerar essa tabela está abaixo: public static String geraCodigoUnicode(char letra) { String hexa = Integer.toHexString( (int)letra ); String prefix; if( hexa.length() == 1 ) { prefix = "\\u000"; } else if( hexa.length() == 2 ) { prefix = "\\u00"; } else if( hexa.length() == 3 ) { prefix = "\\u0"; } else { prefix = "\\u"; } return prefix + hexa;} Estava comecando a escrever um tutorial "Aprenda Hibernate do Zero" e, pesquisando referencias, encontrei exatamente o que eu queria escrever.Tutorial facil, segui e funcionou perfeitamente, simples de ser ampliado.Retirado daqui: http://www.javaframework.org/portal/2010/03/17/iniciando-com-hibernate-3-utilizando-annotations/------------------------------------------------------------------- O Hibernate e um dos mais famosos frameworks de persistencia. Um framework de persistencia e uma ferramenta que ajudara a persistir, ou seja, salvar, os seus dados em algum local, um banco de dados por exemplo. O Hibernate faz o mapeamento das classes de sua aplicacao em tabelas e colunas do banco de dados. Com isso e possivel ler e salvar objetos no banco de forma transparente. Nesse tutorial aprenderemos a configurar um projeto basico com Hibernate e utilizaremos Annotations para fazer a configuracao das classes. O primeiro passo para fazermos um projeto com Hibernate, e definir qual e a estrutura de classes iremos utilizar. Depois, criaremos as tabelas de acordo com essas classes, e faremos o mapeamento no hibernate. Essas classes serao mapeadas em tabelas no banco de dados, o hibernate entao fara a comunicacao entre nossa aplicacao e o banco de dados. Iremos utilizar o hibernate para fazer o mapeamento de classes para tabelas em um banco de dados, entao antes de trabalharmos na aplicacao e necessario configurar algum SGBD para trabalhamos. Utilizaremos nesse tutorial o HSQLDB que e um banco de dados em memoria escrito em Java e vai facilitar o nosso trabalho. 1. Baixando os pacotes necessariosPara esse tutorial precisaremos baixar varios arquivos:Hibernate Core (3.3.2 GA): contem o nucleo do hibernate Hibernate Annotations (3.4.0 GA): contem a API necessaria para configurar as classes com annotations SLF4J (1.5.x): sistema de log utilizado pelo hibernate HSQLDB (2.0 RC 8): banco de dados que utilizaremos no nosso exemplo Os arquivos podem ser baixados