|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:
成绩:Hibernate的<many-to-many>双向联系关系中,一方加载另外一方时,怎样到达按自界说划定规矩排序的目标呢?
实例:脚色和菜单是多对多的干系,为脚色分派菜单后,加载菜单时,我必要依照菜单的ID来排序显现。
办理举措:
1.经由过程在hbm设置文件中设置办理,必要自界说对照器。
1)在多对多的主控端指定sort属性
这里的主控端为role,受控端为menu。
role的设置为:
<setname="roleMenus"table="ROLE_MENU"inverse="false"lazy="false"sort="menu.MenuComparator">
<keycolumn="RM_ROLE_ROLE_ID"/>
<many-to-manycolumn="RM_MENU_MENU_ID"class="domain.MenuInfoVO"/>
</set>
menu的设置为:
<setname="roleMenus"table="ROLE_MENU">
<keycolumn="RM_MENU_MENU_ID"/>
<many-to-manycolumn="RM_ROLE_ROLE_ID"class="domain.RoleInfoVO"/>
</set>
2)自界说MenuComparator
这里必要完成Comparator接口,自界说对照器
/***//**
*菜单排序对照器
*MenuComparator
*@authorallen
*/
publicclassMenuComparatorimplementsComparator{
/***//**
*依照菜单的ID举行排序
*@seejava.util.Comparator#compare(java.lang.Object,java.lang.Object)
*/
publicintcompare(Objecto1,Objecto2){
if(o1==null){
return(o2==null)?0:1;
}
if(o2==null){
return-1;
}
intcc=0;
if(o1instanceofMenuInfoVO&&o2instanceofMenuInfoVO){
cc=(((MenuInfoVO)o1).getId()).compareTo(((MenuInfoVO)o2).getId());
}
return((cc<0)?-1:(cc>0)?1:0);
}
}
我在这里是以菜单的ID为排序关头字的,也可经由过程其他的诸如工夫等举行排序,相称天真,且代码量不年夜。
<p>
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。 |
|