drop table if exists t_admin
drop table if exists t_user
create table t_admin (admin_id bigint not null auto_increment, admin_name varchar(40) unique, admin_password varchar(50), admin_email varchar(30), primary key (admin_id))
create table t_user (id bigint not null auto_increment, tenantId varchar(30), userName varchar(30), password varchar(30), status integer, primary key (id))
在运行见表的程序后,虽有hibernate 的语句输出,但是未能见表成功
检查后发现是在id 定义时出了类型设置不对,
id的产生都是 由generator这个属性的制定的特定生产类 来产生的,
生成方法也有很多assigned ,increment,用两种比较简单的分法就是String型(UUID/GUID)和非String型的,我得错误就是
<id name="id" type="java.lang.String"> ------1
<column name="id" length="30"/>
<generator class="identity" />-------2
</id>
在1处 设置的是String
而在2处 选择的生成类产生的id是非String类型的;
所以出现了语句输出正确,表未建成功。
drop table if exists t_user
create table t_admin (admin_id bigint not null auto_increment, admin_name varchar(40) unique, admin_password varchar(50), admin_email varchar(30), primary key (admin_id))
create table t_user (id bigint not null auto_increment, tenantId varchar(30), userName varchar(30), password varchar(30), status integer, primary key (id))
在运行见表的程序后,虽有hibernate 的语句输出,但是未能见表成功
检查后发现是在id 定义时出了类型设置不对,
id的产生都是 由generator这个属性的制定的特定生产类 来产生的,
生成方法也有很多assigned ,increment,用两种比较简单的分法就是String型(UUID/GUID)和非String型的,我得错误就是
<id name="id" type="java.lang.String"> ------1
<column name="id" length="30"/>
<generator class="identity" />-------2
</id>
在1处 设置的是String
而在2处 选择的生成类产生的id是非String类型的;
所以出现了语句输出正确,表未建成功。
本文探讨了在使用Hibernate创建数据库表时遇到的问题:由于ID字段的数据类型定义不一致导致表创建失败。具体表现为ID字段在XML配置文件中被指定为String类型,而生成器却试图创建非String类型的ID,最终导致表无法成功创建。

3435

被折叠的 条评论
为什么被折叠?



