4

当我想在休眠中创建一个新表时出现此错误

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"/>
4

1 回答 1

6

如堆栈跟踪所示,Hibernate 从 MySQL 数据库中捕获了一个异常,因此请尝试直接在数据库中执行查询(直接调试比通过框架调试要容易得多)。

如果您将表名中的点更改为下划线,您的查询将成功执行。

于 2012-08-04T07:45:08.543 回答