当前位置:编程学习 > JAVA >>

进行添加操作org.springframework.orm.hibernate3.HibernateSystemException:this id genera

报出的错误
 org.springframework.orm.hibernate3.HibernateSystemException: this id generator generates long, integer, short; nested exception is org.hibernate.id.IdentifierGenerationException: this id generator generates long, integer, short
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:748)
hib.MuserDAO.insert(MuserDAO.java:187)
cmd.ActionInfo.insert(ActionInfo.java:67)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)


hbm.xml配置文件

 <hibernate-mapping>
    <class name="hib.Madmin" table="MADMIN" schema="CCL">
        <id name="mid" type="java.math.BigDecimal">
            <column name="MID" precision="22" scale="0" />
            <generator class="increment" />
        </id>
        <property name="adminid" type="java.lang.String">
            <column name="ADMINID" length="10" />
        </property>
        <property name="adminpass" type="java.lang.String">
            <column name="ADMINPASS" length="10" />
        </property>
    </class>
</hibernate-mapping>


action类写法
public String insert(){   //用户注册
password = m.getMD5ofStr(iuserpass);
Madmin dmin = new Madmin();
dmin.setAdminid(iusername);
dmin.setAdminpass(password);
madmindao.save(dmin);
return "input";
}



dao层被调用的写法
public void save(Madmin transientInstance) {
getHibernateTemplate().save(transientInstance);



数据库中的主键我设置为number类型的











--------------------编程问答-------------------- 什么数据库?
--------------------编程问答-------------------- oracle 呗 别的数据库能有number类型么 --------------------编程问答-------------------- 这个问题我已经解决了! --------------------编程问答-------------------- 楼主,这个问题是怎么回事啊??请教!谢谢!! --------------------编程问答-------------------- 楼主,能给我说说不?wolfer906@hotmail.com --------------------编程问答-------------------- 这个问题是怎么解决的啊?求解啊,大虾门! --------------------编程问答-------------------- 大虾啊!解决问题了你就共享一下好不 不要只问别人,自己解决了也让大家知道一下呗  --------------------编程问答--------------------
        
       <id name="mid" type="java.math.BigDecimal">
            <column name="MID" precision="22" scale="0" />
            <generator class="increment" />
        </id>

这个ID生成器不支持BigDecimal吧?
--------------------编程问答-------------------- 楼主就是个煞笔
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,