在使用hibernate的load方法加载一条记录时,load方法后面传2个参数,一个是。class;一个是integer类型
可是有时候load(A.class,1)这样的方法会出错,必须load(A.class, new Integer(1));有时候又只可以加载String类型的如load(A.class,m)  这是怎么回事啊  

解决方案 »

  1.   

    load(A.class,1)这样的方法会出错是因为load方法第二个参数必须是一个对象类型,不能是基本类型数据;如果你用较高的jdk(1.5以上),因为编译器会自动封包,也就是会将它转成new Integer
    第二个参数实际是指第一个参数对应实体的ID的类型,如果实体的ID的类型是Integer,那第二个参数就是Integer;如果是String,那第二个参数就是String
      

  2.   

    load(Class class1, Serializable serializable)
    Serializable 可序列化接口
    String,Integer都实现了这个接口
    1是属于基本数据类型