使用的数据库:Oracle9i
create table person
(
p_id int primary key,
p_name varchar(20)
);create sequence count increment by 1 start with 9999请问为什么我使用Hibernate ID设置为sequence ,自动生成xml文件出现错误?
An internal error occurred during:"Generating Artifacts".用MySQL就没问题,主要它主键增长使用auto_increment;
为什么Oracle没设置自动增长也会出错?手动写了一个配置文件还是无发和数据库关联<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.xiaomaha.jopo">
<class name="Person" table="person">
<id name="p_id" column="p_id">
<generator class="sequence"></generator>
</id>
<property name="p_name" column="p_name"></property>
</class>
</hibernate-mapping>
jopo类package com.xiaomaha.jopo;public class Person {
private int p_id; private String p_name; public int getP_id() {
return p_id;
} public void setP_id(int p_id) {
this.p_id = p_id;
} public String getP_name() {
return p_name;
} public void setP_name(String p_name) {
this.p_name = p_name;
}
}Oracle中在配置文件里到底如何设置让主键自动增长?对不起分不够咯!!!

解决方案 »

  1.   

    小马哈,换成下面的xml 试一试。<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
    <hibernate-mapping package="com.xiaomaha.jopo">
        <class name="Person" table="person">
            <id name="p_id" column="p_id">
                <<generator class="increment"/>
            </id>
            <property name="p_name" column="p_name"></property>
        </class>
    </hibernate-mapping>
      

  2.   

     <id name="p_id" column="p_id">
                <generator class="sequence"></generator>
            </id>改成:
     <id name="p_id" column="p_id">
                <generator class="sequence">
                      <param name="sequence">你底层数据库的序列名(count) </param>            </generator>
                
            </id>
      

  3.   

    上面的多了一个“<”,没注意,下面的是好的:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
    <hibernate-mapping package="com.xiaomaha.jopo">
        <class name="Person" table="person">
            <id name="p_id" column="p_id">
                <generator class="increment"/>
            </id>
            <property name="p_name" column="p_name"></property>
        </class>
    </hibernate-mapping>