使用hibernate自动创建表,发现多了一个t_user的数据库表,现在不知道为啥?


系统中使用了一个用户的 实体类 ,hibernate 映射的数据库表名称为 "t_user" ,然后让hibernate 自动创建表,创建后发现如下问题:
映射时我设置indexs这个字段作为主键,integer类型(java数据类型),id作为普通的字段,string类型(java数据类型)
创建表后,发现,indexs是int类型(sql数据类型),普通字段,id 也是int类型(sql数据类型),主键.
奇怪了, 我明明使用indexs作为主键,怎么变成id是主键了,而且id的数据类型也变了?
于是我怀疑,我有可能将两个实体类的数据表名称同时映射为"t_user"引起,但是,通过关键字搜索,整个项目,只有一个实体类映射为"t_user".
于是 ,我将用户这个实体类的映射表名称更改为"t_users",多个一个字符串"s",然后让hibernate自动创建表.创建后发现,数据库中多了一个"t_user"表 ,然后用户实体类映射的表名称"t_users"就正常了
我现在一直纳闷,这是为什么?
是不是hibernate会自动创建"t_user"这个表?
如果不是,会是什么情况引起?

hibernate table

渡边麻友的老公 9 years, 3 months ago

Your Answer