could not instantiate id generator什么错啊?

dd121011 2008-06-02 03:15:49
hibernate 的错。。什么意思啊
...全文
5914 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kdxkdxkdx 2010-06-25
  • 打赏
  • 举报
回复
你看你的increment
chengzhe 2010-01-16
  • 打赏
  • 举报
回复
楼上的 native ??
Freedom5820823 2008-09-16
  • 打赏
  • 举报
回复
我也报了此异常,用的是MySql,谢谢!帮忙看一下
org.hibernate.MappingException: could not interpret id generator strategy: naitve
配置文件:
<hibernate-mapping>
<class name="com.sh.pojo.TCorporation" table="t_corporation"
catalog="test">
<id name="corpId" type="java.lang.String">
<column name="corp_id" length="10" />
<generator class="naitve" />
</id>
<property name="corpName" type="java.lang.String">
<column name="corp_name" length="20" />
</property>
<property name="corpAdd" type="java.lang.String">
<column name="corp_add" length="50" />
</property>
<set name="TEmployees" inverse="false">
<key>
<column name="corp_id" length="10" />
</key>
<one-to-many class="com.sh.pojo.TEmployee" />
</set>
</class>
</hibernate-mapping>

POJO:
package com.sh.pojo;

import java.util.HashSet;
import java.util.Set;

/**
* TCorporation generated by MyEclipse Persistence Tools
*/

public class TCorporation implements java.io.Serializable {

// Fields

private String corpId;

private String corpName;

private String corpAdd;

private Set TEmployees = new HashSet(0);

// Constructors

/** default constructor */
public TCorporation() {
}

/** minimal constructor */
public TCorporation(String corpId) {
this.corpId = corpId;
}

/** full constructor */
public TCorporation(String corpId, String corpName, String corpAdd,
Set TEmployees) {
this.corpId = corpId;
this.corpName = corpName;
this.corpAdd = corpAdd;
this.TEmployees = TEmployees;
}

// Property accessors

public String getCorpId() {
return this.corpId;
}

public void setCorpId(String corpId) {
this.corpId = corpId;
}

public String getCorpName() {
return this.corpName;
}

public void setCorpName(String corpName) {
this.corpName = corpName;
}

public String getCorpAdd() {
return this.corpAdd;
}

public void setCorpAdd(String corpAdd) {
this.corpAdd = corpAdd;
}

public Set getTEmployees() {
return this.TEmployees;
}

public void setTEmployees(Set TEmployees) {
this.TEmployees = TEmployees;
}

}
dd121011 2008-06-04
  • 打赏
  • 举报
回复
数据库里好象设置的int。。。。应该不冲突把。。。
dd121011 2008-06-04
  • 打赏
  • 举报
回复
sqlserver 2005
bobor_2008 2008-06-03
  • 打赏
  • 举报
回复
<generator class="native"> </generator>

你的是什么数据库?
yami251139 2008-06-03
  • 打赏
  • 举报
回复
type="java.util.long"
你数据库里面pk是怎么设置的?
Shine_Panda 2008-06-03
  • 打赏
  • 举报
回复
<generator class="native"> </generator>
indentity

因为你的主键是自动增长的.
increment 生成策略 是hibernate 生成一个值 然后插到你的数据库. 所以报错。
zhaoyongling721 2008-06-02
  • 打赏
  • 举报
回复
你的po呢 可能是没有相应的构造函数
dd121011 2008-06-02
  • 打赏
  • 举报
回复
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.ltd.blog.bean.BlogBean" table="Blogs">
<id name="blogId" type="long" column="Blog_id">
<generator class="incremet"></generator>
</id>
<property name="userName" type = "string">
<column name="username" length ="20"></column>
</property>
<property name="password" type = "string">
<column name="password" length= "10"></column>
</property>


<property name="subject" type ="string">
<column name="subject" length= "20"></column>
</property>
<property name="dayInfo" type="calendar" column = "dayinfo"></property>

<set name="articles" inverse ="true" lazy ="false" batch-size ="2" cascade ="all-delete-orphan" order-by="publishTime desc">
<key column ="blog_id" ></key>
<one-to-many class = "com.ltd.blog.bean.BlogBean"/>
</set>
<set name ="feedBacks" inverse = "true" lazy = "false" batch-size = "2" cascade ="none" order-by="feedBackTime desc">
<key column = "blog_id"></key>
<one-to-many class = "com.ltd.blog.bean.FeedBackBean"/>
</set>

</class>
</hibernate-mapping>
whetu 2008-06-02
  • 打赏
  • 举报
回复
这句的意思,就是你的id序列号生成器有问题,
帖出更多的出错信息,不要只帖这一句。最好帖出来你的hibernate影射文件。
dd121011 2008-06-02
  • 打赏
  • 举报
回复
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.MappingException: could not instantiate id generator
at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:97)
at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:152)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:182)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
at com.ltd.blog.util.SessionFactoryBuild.getSessionFactory(SessionFactoryBuild.java:16)
at com.ltd.blog.util.SessionFactoryBuild.<clinit>(SessionFactoryBuild.java:9)
at com.ltd.blog.test.TestHbn.saveTeacherAndCourse(TestHbn.java:33)
at com.ltd.blog.test.TestHbn.main(TestHbn.java:104)
Caused by: org.hibernate.MappingException: could not interpret id generator strategy: incremet
at org.hibernate.id.IdentifierGeneratorFactory.getIdentifierGeneratorClass(IdentifierGeneratorFactory.java:108)
at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:91)
... 7 more
Exception in thread "main" java.lang.NullPointerException
at com.ltd.blog.test.TestHbn.saveTeacherAndCourse(TestHbn.java:33)
at com.ltd.blog.test.TestHbn.main(TestHbn.java:104)
错误代码。。。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧