我现在的员工表里面的主键是手动输入的,所以没有自动增长,请问下面的hibernate映射文件的代码还要不?
<id name="empId" type="java.lang.String">
<column name="emp_id" length="10" />
<generator class="identity" />
</id> 红色部分还要不?而且,我的这个主键因需要设置为String类型的,请问这会影响我调用hibernate的查询方法,传入一个ID主键查询吗? 我现在这样设置后,程序报错了,
Provided id of the wrong type. Expected: class java.lang.String, got class java.lang.Integer 我不知道是我映射文件出问题了 还是我写的查询方法不行,大家帮忙解决哈,感谢了!!!
<id name="empId" type="java.lang.String">
<column name="emp_id" length="10" />
<generator class="identity" />
</id> 红色部分还要不?而且,我的这个主键因需要设置为String类型的,请问这会影响我调用hibernate的查询方法,传入一个ID主键查询吗? 我现在这样设置后,程序报错了,
Provided id of the wrong type. Expected: class java.lang.String, got class java.lang.Integer 我不知道是我映射文件出问题了 还是我写的查询方法不行,大家帮忙解决哈,感谢了!!!
去掉吧
还有
<generator class="identity" />
的只支持int ,short ,long的数据库类型
<generator class="identity" /> 改成<generator class="assigned" />就可以啦。
还是报之前的那个错,我传如参数是Serializable类型的,也查不出来,这是为什么啊
这里的id只接受数据对象,int是基本数据类型
你改为
get(employee.class,new Integer(id))即可
老兄不厚道啊,一个贴问两个问题,还不结贴