Hibernate-database returned no natively generated
2017-02-26 08:25
357 查看
database returned no natively generated 分类:Hibernatehbm.xml中的配置如下:
<id name="id" type="integer" column="ID">
<generator class="native"/>
</id>
native的功能是:
由数据库从identity,sequence和hilo中选取一个生成器来生成ID。
这样就需要主键设置成自增长的,一定要小心
采用的是Mysql5数据库,但在执行插入的时候报错:
The database returned no natively generated identity value
最后确认原因是数据库的表结构中关于ID,没有设置auto increment。
正确的建库如下:
CREATE TABLE `log` (
`ID` int(11) NOT NULL auto_increment,
`LOGUSER` varchar(10) default NULL,
`LOGTIME` datetime default NULL,
`LOGTYPE` char(1) default NULL,
PRIMARY KEY (`LOGID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
完整的hbm.xml如下:
<?xml version="1.0"?>
<!DOCTYPE
hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="com.shinyv.dao.hibernate.test">
<class name="Log" table="log" proxy="Log" dynamic-insert="true" dynamic-update="true">
<id name="id" type="integer" column="ID">
<generator class="native"/>
</id>
<property name="logTime" column="LOGTIME" not-null="true"/>
<property name="userName" type="string" column="LOGUSER"/>
<property name="logType" column="LOGTYPE"/>
</class>
</hibernate-mapping>
<id name="id" type="integer" column="ID">
<generator class="native"/>
</id>
native的功能是:
由数据库从identity,sequence和hilo中选取一个生成器来生成ID。
这样就需要主键设置成自增长的,一定要小心
采用的是Mysql5数据库,但在执行插入的时候报错:
The database returned no natively generated identity value
最后确认原因是数据库的表结构中关于ID,没有设置auto increment。
正确的建库如下:
CREATE TABLE `log` (
`ID` int(11) NOT NULL auto_increment,
`LOGUSER` varchar(10) default NULL,
`LOGTIME` datetime default NULL,
`LOGTYPE` char(1) default NULL,
PRIMARY KEY (`LOGID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
完整的hbm.xml如下:
<?xml version="1.0"?>
<!DOCTYPE
hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="com.shinyv.dao.hibernate.test">
<class name="Log" table="log" proxy="Log" dynamic-insert="true" dynamic-update="true">
<id name="id" type="integer" column="ID">
<generator class="native"/>
</id>
<property name="logTime" column="LOGTIME" not-null="true"/>
<property name="userName" type="string" column="LOGUSER"/>
<property name="logType" column="LOGTYPE"/>
</class>
</hibernate-mapping>
相关文章推荐
- 异常org.hibernate.HibernateException: The database returned no natively generated identity解决方案
- org.hibernate.HibernateException: The database returned no natively generated identity value
- HibernateSystemException: The database returned no natively generated identity value异常
- The database returned no natively generated identity value
- The database returned no natively generated identity value
- The database returned no natively generated identity value
- database returned no natively generated
- The database returned no natively generated identity value的解决方案
- The database returned no natively generated identity value
- The database returned no natively generated identity value 错误的解决
- The database returned no natively generated ide...
- database returned no natively generated向mysql数据库插入数据时的错误
- 2013.04.04 The database returned no natively generated identity value
- The database returned no natively generated identity value
- jeecms遇到的问题-The database returned no natively generated identity value
- The database returned no natively generated identity value
- Execption:the database returned no natively generated identity value
- The database returned no natively generated identity value 错误的解决
- Hibernate3.2与Sql连接时出现的--java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z
- 【HIbernate】java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z