Pessoal,
estou desenvolvendo uma aplicação utilizando Hibernate3, porém nesta aplicação, precisei trabalhar com um banco de dados legado.
Para facilitar o trabalho, utilizei o Hibernate Tools para realizar engenharia reversa das tabelas para criar minhas Entity Beans.
Ao tentar utilizar uma das entidades, tive o seguinte problema:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax
Logo, fui verificar o SQL gerado pelo hibernate para tentar entender o problema e encontrei a seguinte instrução:
Hibernate: insert into tutorial_db.tutorial_db.tutorial_table (employeeName, entryDate, hoursWorked) values (?, ?, ?)
No SQL acima, pude perceber o seguinte: tutorial_db.tutorial_db.tutorial_table
Pude perceber que foi duplicado o nome do meu schema e por curiosidade troquei a annotation da minha Entity de:
@Table(name = “tutorial_table”, catalog = “tutorial_db”)
para
@Table(name = “tutorial_table”, schema = “tutorial_db”)
Após trocar, o problema foi solucionado, mas aí vem a pergunta:
alguém poderia me explicar a diferença entre utilizar catalog ou schema na annotation @Table da definição da minha Entity?
Obrigado
* quis explicar com o máximo de detalhes possível, para que caso alguém tenha a mesma dúvida, esse texto possa fornecer palavras chave suficientes em uma busca.