创建表格使用Hibernate失败。

4

当我想在Hibernate中创建新表时,出现了这个错误。

SEVERE: Unsuccessful: create table gmail.messages.test (CODE_PERS varchar(255) not null, LAST_NAME varchar(255), FIRST_NAME varchar(255), primary key (CODE_PERS))
3.8.2012 18:30: org.hibernate.tool.hbm2ddl.SchemaExport create
SEVERE: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.test (CODE_PERS varchar(255) not null, LAST_NAME varchar(255), FIRST_NAME varch' at line 1
3.8.2012 18:30: org.hibernate.tool.hbm2ddl.SchemaExport execute

这是我的hibernate.cfg文件。
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/gmail.messages</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">admin</property>
<!-- <property name="hbm2ddl.auto" value="auto"/> -->

<property name="hibernate.show_sql">true</property>
<property name="transaction.factory_class">
    org.hibernate.transaction.JTATransactionFactory
</property>
<property name="use_outer_join">false</property>
<property name="jta.UserTransaction">java:comp/UserTransaction</property>
<property name="hibernate.connection.pool_size">12</property>
<property name="hibernate.hbm2ddl.auto">create</property>
<property name="hibernate.default_schema">gmail.messages</property>
<property name="current_session_context_class">thread</property>

<mapping resource="HibernateMapping/hibernate.hbm.xml"/>

1
我们可以在表名中使用点(.)符号吗? - kosa
我尝试使用org.hibernate.dialect.MySQL5Dialect和hibernate.hbm2ddl.auto="auto"/update,但仍然出现相同的错误。 - Eva Tomovska
1
我建议您尝试使用简单的表名,例如message_test,而不是gmail.mes..... - kosa
请问您能否发布完整的“创建表”查询语句? - manix
是的,那就是问题所在,不能使用任何点。感谢您的建议。 - Eva Tomovska
1个回答

6
根据堆栈跟踪显示,Hibernate从MySQL数据库捕获了异常,因此请尝试直接在数据库中执行查询(直接调试而不是通过框架调试要容易得多)。
如果您将表名中的点改为下划线,则查询将成功执行。

我创建了一个新的数据库,没有使用点号将单词连接起来,并且具有相同的属性,它可以正常工作。谢谢。 - Eva Tomovska

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接