[RESOLVIDO]JPA com Mysql Linux

Boa Tarde Pessoal,

Estou tentando configurar um servidor de aplicação em uma máquina com distribuição Debian e estou encontrando alguns problemas referentes a JPA. Fiz a instalação do Tomcat, do mysql (via apt-get). Aplicação “roda” tranquilamente, porém consultas JPA que utilizam CreateQuery não retornam nada. Se eu mudar o tipo de consulta para CreateNativeQuery eu obtenho resultado. Detalhe é que essa mesma aplicação roda no windows sem problema algum. Alguém poderia me ajudar nisso?

Abraços!

Não sei se é seu caso, mas as tabelas no MySQL no Linux são case sensitive. Se o nome da tabela for ‘tb_usuario’, por exemplo, consultas tipos ‘SELECT * FROM TB_USUARIO’ dão erro.

Pode ser isso, olhe os nomes das tabelas nos mapeamentos.

É. isso eu pude perceber nos meus testes, porém, quando uso o método CreateQuery do objeto EntityManager, eu utilizo os objetos, mas essa convenção para tabela não está acontecendo.Não vem nada!!Vou realizar mais testes essa semana. Obrigado pela resposta.

Filesystem do windows => TABELA = tabela
Filesystem do linux => TABELA != tabela

No linux, o nome da tabela deve ser idêntico… eu peguei o costume de criar todas com a letra minuscula, para não ter este tipo de problema!

lsjunior e clarel.filho, acho que a resolução vai ser por ai mesmo. Fiz um pequeno teste aqui e deu certo.Bom, não vou colocar como resolvido ainda pq irei “replicar” essa solução no meu projeto. Assim que eu de fato resolver, eu posto a resolução e encerro o caso. Desde já obrigado aos 2.

Foi isso mesmo que havia citado: atribui nas classes modelo do projeto o atributo (name=“nome_da_entidade”) na anotação @Entity dessas classes, e nas consultas ao invés de colocar a “from Entidade”, coloquei “from entidade”, feito isso, funcionou tranquilamente. Obrigado a todos! Abraço!

Exemplo :

No meu caso a tabela se chama “acesso”, a classe ficou “Acesso”,mas você coloquei @Entity(name=“acesso”) para que ele consiga identificar a tabela. Nas consultas, ficou :
Query query = entity.createQuery(“from acesso a”);

Vlw
Ps: onde coloco resolvido?

Att,

Para colocar resolvido, edite a primeira postagem e mude o assunto!

Abraço!