码迷,mamicode.com
首页 > Web开发 > 详细

关于Hibernate无法建表(即使方言与hbm2ddl.auto都正确)

时间:2014-11-27 06:57:00      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:hibernate

这个问题困惑了我好久,当然百度里有一大堆,可是我的这种情况似乎很少

参考过这篇比较好的(解决了很多人问题吧):http://blog.csdn.net/biangren/article/details/8010018

可是还是未能解决我的问题,现在终于解决了。


我的原因在于:映射类的主键设置为String类型,而映射文件:

<hibernate-mapping package="com.hibernate.Set">

    <class name="Person" table="person">

        <id name="id">

            <column name="ID" />

            <generator class="native" />

        </id>

        <property name="name" type="string">

            <column name="name" />

        </property>

        <one-to-one name="idCard" class="com.hibernate.Set.IdCard" property-ref="person"></one-to-one>    

    </class>

</hibernate-mapping>

如果gernator=native,则数据库将自行处理主键(id)的类型。而我的映射类中“private String id;”

权限交给Mysql后,Mysql会将id自动处理为数字型(貌似不同数据库方式不同,道理类似),故而出错!

关于Hibernate无法建表(即使方言与hbm2ddl.auto都正确)

标签:hibernate

原文地址:http://brantroy.blog.51cto.com/7257911/1582965

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!