我的hibernate.cfg.xml如下 
<property name="dialect">net.sf.hibernate.dialect.Oracle9Dialect</property>
 <property name="show_sql">true</property>
 <property name="connection.username">scott</property>
 <property name="connection.password">tiger</property>
 <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@192.168.0.168:1521:o9i</property>
<mapping resource="dao/user.xml"/>但在执行添加一条数据的时候总报错
net.sf.hibernate.MappingException:Dialect does not support identity key generation怎么回事,我连接的是远程的oracle数据库,我在家的时候连接mysql好使,把它拿到学校的时候改了用户名,秘密,驱动,连接地址,还有方言名,其它什么都没改,就总报这个错,我看了在net.sf.hibernate.dialect下有那个方言类我用的是hibernate2.0请各位帮个忙,小弟在这跪谢了

解决方案 »

  1.   

    oracle和mysql的串不一样,你试试用这个串: 
    <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    <property name="connection.url">jdbc:oracle:thin:@192.168.0.168:1521:o9i</property>
    <property name="connection.username">scott</property>
    <property name="connection.password">tiger</property>
    <property name="dialect">net.sf.hibernate.dialect.OracleDialect</property>
    <property name="connection.pool_size">5</property>
    <property name="show_sql">false</property>
    <property name="use_outer_join">true</property>
    <property name="statement_cache.size">10</property>
    <property name="jdbc.use_scrollable_resultset">true</property>
    <property name="cglib.user_reflection_optimizer">true</property>
    <property name="jdbc.batch_size">20</property>
    <property name="jdbc.fetch_size">20</property>
    <!-- mapping files -->
    <mapping resource="dao/user.xml"/>
      

  2.   

    晕,错误不是已经很明显了,
    你的id生成策略有问题,
    适合mysql,未必在oracle上可行
      

  3.   

    你的id生成策略有问题,Oracle不支持dentity的,用sequence
      

  4.   

    改dao/user.xml中id的生成器
     <id name="customerid" column="CUSTOMERID" type="java.lang.String">
                <generator class="sequence" >
                     <property name="sequence">Oracle序列名</property>
                </generatror>
            </id>
      

  5.   

    上面说的对 你的ID生成错误 在ORACLE中建立SEQUECE 然后生成就可以了