日期:2014-05-18  浏览次数:21000 次

hibernate save的时候报错 ORA-02289: 序列(号)不存在
错误如下: 

这是hibernate的映射
XML code
<hibernate-mapping>
    <class name="com.eway.person.vo.Fingerprint" table="FINGERPRINT"
        dynamic-insert="true">
        <id name="personno" type="java.lang.String">
            <column name="PERSONNO" length="20" />
            <generator class="native" />
        </id>
        <property name="feature" lazy="true"
        type="org.springframework.orm.hibernate3.support.BlobByteArrayType">
            <column name="FEATURE" />
        </property>
        <property name="picturedata" lazy="true"
        type="org.springframework.orm.hibernate3.support.BlobByteArrayType">
            <column name="PICTUREDATA" />
        </property>
        <property name="photo" lazy="true"
        type="org.springframework.orm.hibernate3.support.BlobByteArrayType">
            <column name="PHOTO" />
        </property>
        <property name="regdate" type="java.util.Date">
            <column name="REGDATE" length="7" not-null="true" />
        </property>
        <property name="updateflag" type="java.lang.String">
            <column name="UPDATEFLAG" length="10" />
        </property>
        <property name="fingerfrom" type="java.lang.String">
            <column name="FINGERFROM" length="1" not-null="true" />
        </property>
        <property name="fingernum" type="java.lang.String">
            <column name="FINGERNUM" length="40" not-null="true" />
        </property>
    </class>
</hibernate-mapping>


哪里不对了....请高手,急用谢谢!!

------解决方案--------------------
通常是由于没有授权的原因。可能是你在sql*plus下的登陆名有权限访问,而在程序中访问名,没有权限访问你建的sequence
------解决方案--------------------
<id name="personno" type="java.lang.String">
<column name="PERSONNO" length="20" />
<generator class="native" />
</id>
这个设置问题 至于应该设置什么 就看你PERSONNO是赋值还是自增序列
------解决方案--------------------
二楼正解
------解决方案--------------------
三楼
------解决方案--------------------
<id name="personno" type="java.lang.String"> 
<column name="PERSONNO" length="20" /> 
<generator class="native" /> 
</id> 

native指定id是自动增长的,但是你设置他的类型为java.lang.String这样可以吗..
我做过的都是Integer的
------解决方案--------------------
探讨
<id name="personno" type="java.lang.String">
<column name="PERSONNO" length="20" />
<generator class="native" />
</id>

native指定id是自动增长的,但是你设置他的类型为java.lang.String这样可以吗..
我做过的都是Integer的

------解决方案--------------------
当然你也可以type="java.lang.String",然后 <generator class="uuid" />或者其他方式。