<generator class="vm" ></generator>
你把vm贴出来看看

解决方案 »

  1.   

    为什么不用 native 方法生成主键?
      

  2.   

    generator class="vm"
    你用的class有问题.用native或者assigned.
      

  3.   

    为了方便在各种数据库间移植,主键生成方式采用uuix.hex可移植性最好    <id
            name="id"
            type="java.lang.String"
            column="id"
        >
            <meta attribute="field-description">
               @hibernate.id
                generator-class="uuid.hex"
                type="java.lang.String"
                column="id"
            </meta>
            <generator class="uuid.hex" />
        </id>
      

  4.   

    to :   lonelydavy(davy) 
    如果该改成native的话,出现了这样的错误:
    net.sf.hibernate.HibernateException: The database returned no natively generated identity value
    初学Hibernate ,望高手多指教!
      

  5.   

    <generator class="vm" ></generator>
    vm是什么?自己实现的?用increment肯定没问题,不过效果不一定好
    试试hilo or uuid.hex
      

  6.   

    vm是我用hibernatesynchronizer ,eclipse中的插件自动生成的,在Oracle中好像同样的代码,可以在字段自动加1.但在mysql中却不行.
      

  7.   

    EclipseHibernateSynchronizer 利用Eclipse Hibernate Synchronizer开发Hibernate应用程序 
    请见我写的操作说明手册
    http://61.131.30.58/123/Develop/Java/SC/Info.htm
      

  8.   

    看了司令的文档有点启发,不过我还是有个问题,主键的值是在数据库中自增长的,我不希望由数据库来做,最好能在程序里来做,因为在数据库里做的话,当数据库恢复的话有点问题.Oracle里没有自增长的字段是如何来实现的?望司令回答!
      

  9.   

    oracle可以利用序列和储发器来产生自动列的,这个没问题,加上hibernate在使用oracle的时候,要求建
    立一个hibernate.sequence的序,来自曾值的!!
      

  10.   

    数据库系统可使用的标识符生成器:
    MySQL:identity,increment,hilo,native
    MS SQL Server:identity,increment,hilo,native
    Oracle: sequence,seqhilo,hilo,increment,native
    跨平台开发: native
      

  11.   

    跨平台开发:Hibernate主键生成方式采用uuix.hex可移植性最好