自己做了一个员工管理的练手,在使用DWR调用spring管理的service的时候,提示初始化失败,在网上搜罗了一下,说是dwr的createor 得是人间spring要不然谁给你注入dao。配置方法如下:
<create javascript="Department" creator="spring">
<param name="beanName" value="departmentService"></param>
<include method="get" />
<include method="deleteDeparts" />
</create>
搞定了上面的错误,在dwr 调用service的findById的时候,发现它会把这个department下的所有employee都查出来,虽然我在hibernate里设置了lazyloading,还照样去查。
看到一个高人的贴子,说把
<convert match="com.mars.erp.model.Department" converter="hibernate3" />
于是试了一下,果真不再有多余的select语句了。
“More than one row with the given identifier was found 33 “ ...Model.Employee..."
这个问题烦了我好久,后来耐着性子看了看我的employees表,发现两行employee的数据有一个onetoone的关联字段相同,这在我的Model里是不可以相同的,遂把一行记录删掉,再测试ok了。