hibernate database returned no natively generated 错误
在配置hibernate时,做insert测试遇到了这个错误。原因是数据库的表结构中关于id,没有设置auto increment。
例如表结构 user(userId integer(20)auto_increment primary key,userName varchar(20),userPwd varchar(20));
需要在user.hbm.xml中修改
<class name="com.hibernate.user" table="user" catalog="test">
<id name="userId" type="integer">
<column name="userId"></column>
<generator class="native"></generator>
</id>
<property name="userName" type="java.lang.String">
<column name="userName"></column>
</property>
<property name="userPwd" type="java.lang.String">
<column name="userPwd"></column>
</property>
</class>
查看mysql表中结果,插入成功
在配置hibernate时,做insert测试遇到了这个错误。原因是数据库的表结构中关于id,没有设置auto increment。
例如表结构 user(userId integer(20)auto_increment primary key,userName varchar(20),userPwd varchar(20));
需要在user.hbm.xml中修改
<class name="com.hibernate.user" table="user" catalog="test">
<id name="userId" type="integer">
<column name="userId"></column>
<generator class="native"></generator>
</id>
<property name="userName" type="java.lang.String">
<column name="userName"></column>
</property>
<property name="userPwd" type="java.lang.String">
<column name="userPwd"></column>
</property>
</class>
查看mysql表中结果,插入成功
本文介绍了解决Hibernate在插入数据时遇到的hibernatedatabasereturnednonativelygenerated错误的方法。该错误通常是由于数据库表的ID字段未设置为自增导致的。文章通过调整表结构和映射文件,成功解决了这一问题。

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



