在mysql里的user表,userid为主键、自增长,id为不为null的字段,在hibernate里的user.hbm.xml中
     <id name="id" type="java.lang.String">
            <column name="id" length="16" />
            <generator class="assigned" /> 
        </id>
       <property name="userid" type="java.lang.Integer">
            <column name="userid" length="11" />
        </property>
这样会不会出什么问题,目前调试的结果是数据可以保存,但是在取对象后的userid为null,但是数据库中的这个字段是自增长了的。
想请牛人帮忙看看是不是上面的字段不对应的问题,希望能给个详细的解释,但是千万别让我改成一样的,这个我不能决定哈。

解决方案 »

  1.   

    你映射文件userid自增长属性都没设置怎么可能对,应该这样写
    <property   name= "userid "   type= "java.lang.Integer "> 
          <column   name= "userid "   length= "11 "   /> 
          <generator class="native"/>
    </property>    
      

  2.   

    <id  name= "userid"  type= "java.lang.String"> 
         <generator class="native"/>  
    </id> 
    <property name= "id"  type= "java.lang.Integer" length= "11" not-null="true"/>
      

  3.   

    <generator   class= "increment"   />   
      

  4.   

    已经解决了,好像可以数据库的主键跟hibernate中的.hbm.xml中定义的主键不一致。可以自动插入。不过谢谢各位