初识Hibernate:Could not instantiate id generator [entity-name=com.hibernate.e
2017-06-13 10:02
483 查看
最近刚刚学 Hibernate 然后就遇到了错误,抓破了脑壳都不知道为什么,第二天又看了一遍代码,原来是我写错了单词
<id name="deptNo" type="java.lang.Byte">
<column name="deptno"/>
<generator class="assigned"/> //这个地方要注意,别写错
</id>
org.hibernate.MappingException: Could not instantiate id generator [entity-name=com.xxx.xxx.xxx.Dept] at org.hibernate.id.factory.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:118)
at org.hi
源代码如下:
hibernate.cfg.xml-------------------------------------------------------------
长;assigned:程序提供;native:由程序自己判断是程序提供主键值还是由数据库生成主键identity:使用数据的自动增长;
如mysql的auto_increment,sqlserver的identity(标识列)sequence:使用序列;如Oracle,比如Oracle数据库有有一个名为:seq_dept的序列,
那么在此处配置为:<generator class="sequence"><param name="sequence">seq_dept</param></generator> --><generator class="assigned"/></id>
<!-- property元素中的name属性值是实体类中的属性名称,type的属性值指的是实体类中对应属性的数据类型,column的属性值指的是数据库中表对应的列名 -->
<property name="deptName" type="java.lang.String" column="dname"/>
<property name="location" type="java.lang.String"><column name="loc"/>
</property></class></hibernate-mapping>
Dept.hbm.xml-------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.XXX.hibernate.entity.Dept" table="dept" schema="SCOTT">
<id name="deptNo" type="java.lang.Byte">
<column name="deptno"/>
<!--
主键生成策略:
increment:自动增长;
assigned:程序提供;
native:由程序自己判断是程序提供主键值还是由数据库生成主键
identity:使用数据的自动增长;如mysql的auto_increment,sqlserver的identity(标识列)
sequence:使用序列;如Oracle,比如Oracle数据库有有一个名为:seq_dept的序列,那么在此处配置为:
<generator class="sequence">
<param name="sequence">seq_dept</param>
</generator>
-->
<generator class="assigned"/>
</id>
<!--
property元素中的name属性值是实体类中的属性名称,
type的属性值指的是实体类中对应属性的数据类型,
column的属性值指的是数据库中表对应的列名
-->
<property name="deptName" type="java.lang.String" column="dname"/>
<property name="location" type="java.lang.String">
<column name="loc"/>
</property>
</class>
</hibernate-mapping>
原创作品:转摘请注明出处
<id name="deptNo" type="java.lang.Byte">
<column name="deptno"/>
<generator class="assigned"/> //这个地方要注意,别写错
</id>
org.hibernate.MappingException: Could not instantiate id generator [entity-name=com.xxx.xxx.xxx.Dept] at org.hibernate.id.factory.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:118)
at org.hi
源代码如下:
hibernate.cfg.xml-------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping>e.entity.Dept" table="dept" schema <class name="com.xxx.hibernat="SCOTT"> <id name="deptNo" type="java.lang.Byte"> <column name="deptno"/> <!-- 主键生成策略: increment:自动增
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 1 数据库的连接字符串 --> <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property> <!-- 2 登陆数据库的用户名 --> <property name="connection.username">scott</property> <!-- 3 登陆数据库的密码 --> <property name="connection.password">scott</property> <!-- 4 连接数据库的驱动类 --> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <!-- 5 数据库方言 --> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <!-- 6 运行的时候显示sql语句--> <property name="show_sql">true</property> <!-- 7 格式化sql语句--> <property name="format_sql">true</property> <!-- 8 和当前线程绑定在一起 --> <property name="current_session_context_class">thread</property> <!-- 注册映射文件 --> <!-- /hiberate-chap1/src/com/xxx/hibernate/entity/Dept.hbm.xml --> <mapping resource="com/xxx/hibernate/entity/Dept.hbm.xml"/> </session-factory> </hibernate-configuration>
长;assigned:程序提供;native:由程序自己判断是程序提供主键值还是由数据库生成主键identity:使用数据的自动增长;
如mysql的auto_increment,sqlserver的identity(标识列)sequence:使用序列;如Oracle,比如Oracle数据库有有一个名为:seq_dept的序列,
那么在此处配置为:<generator class="sequence"><param name="sequence">seq_dept</param></generator> --><generator class="assigned"/></id>
<!-- property元素中的name属性值是实体类中的属性名称,type的属性值指的是实体类中对应属性的数据类型,column的属性值指的是数据库中表对应的列名 -->
<property name="deptName" type="java.lang.String" column="dname"/>
<property name="location" type="java.lang.String"><column name="loc"/>
</property></class></hibernate-mapping>
Dept.hbm.xml-------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.XXX.hibernate.entity.Dept" table="dept" schema="SCOTT">
<id name="deptNo" type="java.lang.Byte">
<column name="deptno"/>
<!--
主键生成策略:
increment:自动增长;
assigned:程序提供;
native:由程序自己判断是程序提供主键值还是由数据库生成主键
identity:使用数据的自动增长;如mysql的auto_increment,sqlserver的identity(标识列)
sequence:使用序列;如Oracle,比如Oracle数据库有有一个名为:seq_dept的序列,那么在此处配置为:
<generator class="sequence">
<param name="sequence">seq_dept</param>
</generator>
-->
<generator class="assigned"/>
</id>
<!--
property元素中的name属性值是实体类中的属性名称,
type的属性值指的是实体类中对应属性的数据类型,
column的属性值指的是数据库中表对应的列名
-->
<property name="deptName" type="java.lang.String" column="dname"/>
<property name="location" type="java.lang.String">
<column name="loc"/>
</property>
</class>
</hibernate-mapping>
原创作品:转摘请注明出处
相关文章推荐
- SSH中hibernate错误信息 Could not instantiate id generator
- 在Hibernate中配置Hilo进行数据绑定测试时出错:org.hibernate.MappingException: Could not instantiate id generator
- org.hibernate.MappingException: could not instantiate id generator
- org.hibernate.HibernateException: Could not instantiate resultclass: com.bocean.entity.vo.HospitalVo
- hibernate-------could not instantiate id generator
- org.hibernate.PropertyNotFoundException: Could not find a getter for id in class com.pb.dao.UserDao
- org.hibernate.exception.GenericJDBCException: could not insert: [com.qdd.entity.Book] 的解决方法
- 开发日志:ssh配置实体映射时出错could not instantiate id generator
- hibernate 实体类注解错误:Could not determine type for: com.xxx.entity.Site
- could not instantiate id generator
- [JPA] javax.persistence.EntityNotFoundException: Unable to find com.duona.base.bean.Business with id
- Caused by: org.hibernate.MappingException: Could not determine type for: com.bjsxt.model.Specialty, at table: Student, for columns: [org.hibernate.map
- Could not instantiate bean class [com.bjsxt.service.UserService]: No default constructor found;
- tag 'select', field 'list', name 'did': The requested list key '#id' could not be resolved as a c
- IT忍者神龟之com.octo.captcha.service.CaptchaServiceException: Invalid ID, could not validate unexisting o
- Failed to apply plugin [id 'com.android.application'] 和 Could not find com.android.tools.build:gradl
- ssh: Could not resolve hostname github.com: Name or service not known; fatal: The remote end hung up
- Hibernate JPA —— could not insert 或 detach entity passed to persist 或Found shared references 错误
- org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleT
- could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridg