首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

hibernate save的时候报错 ORA-02289: 序列(号)不存在,该怎么解决

2012-03-07 
hibernate save的时候报错 ORA-02289: 序列(号)不存在错误如下:这是hibernate的映射XML codehibernate-ma

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" />或者其他方式。


[解决办法]
楼上正解。。。。
[解决办法]
<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> 
在保存的时候, 如果 PERSONNO 被赋值, 而这个列又是自增列 就报错吴: "ORA-02289: 序列(号)不存在 ";
[解决办法]
Oracle 没有自增列,请使用 Sequence
[解决办法]
关键是类型的问题,使用序列就不要用string类型的id,使用string类型的id就不要设置
序列了
[解决办法]

探讨
<id name="personno" type="java.lang.String">
<column name="PERSONNO" length="20" />
<generator class="native" />
</id>
这个设置问题 至于应该设置什么 就看你PERSONNO是赋值还是自增序列

[解决办法]
assigned

热点排行