2012-08-04 74 views
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"/> 
+1

我们是否允许在表名中使用。(点)符号? – kosa 2012-08-04 00:11:03

+0

我尝试使用org.hibernate.dialect.MySQL5Dialect和hibernate.hbm2ddl.auto =“auto”/ update,但仍然是相同的错误 – 2012-08-04 00:11:42

+1

我建议你试试简单的表名,就像message_test,而不是gmail.mes ... .. – kosa 2012-08-04 00:14:19

回答

6

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

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

+0

我创建了具有相同属性的世界之间没有点的新数据库,它的工作原理。谢谢 – 2012-08-04 17:59:29