hibernate save的时候报错 ORA-02289: 序列(号)不存在
错误如下:
这是hibernate的映射
<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>
[解决办法]
楼上正解。。。。
[解决办法]
<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就不要设置
序列了
[解决办法]