简化hibernate,简化dao[Java编程]
本文“简化hibernate,简化dao[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、简化hibernate
首先hibernate是一个优异的ORM工具(此话断定为废话,其次,按照20/80的规律,有80%的问题不需求那20%学习起来对比麻烦的东西.
很多人在用hibernate的时刻一定把关系作为精华来学习,比方一对多,多对一,以及多对多,认为只有纯熟应用这个才是对hibernate的真正掌握.
说真话,这个设法从技术的角度讲有点原理,问题是很多人对这些始终是一头雾水,反正不要好看,我目前仍旧是一头雾水,本日我终于给自己约束了出来,我回头去看自己的项目,发现N多的时刻100%的不要关系(在 hibernate中)也不会出性命,并且效果很好.
目前,每个mapping文件中没有了set,list,map,我相信一定有N多人说我这个不符合OO什么的,不过大家反过来想,在我的项目组中会有一个明显的好处就是我将问题简化了,
大家城市做,比方Org与User的关系,1:N的关系,我不用考虑这个,直接办工去保护,dao.save(org);user.setOrgId("11");dao.save(user);
有一段时间我顺次问各个项目组,你们的hibernate顶用到了关联操作了么,答复清一色的“NO”,看来大家都在无意识的躲避这个陷阱,呵呵,很合吾意.
2、简化dao
大概是遭到appfuse的影响,一个service就有一个dao,目前从实际的角度来看仍旧认为没有太大的必要,当然,假如你是近似测试驱动的设法那么大概另当别论.目前我更喜好一个通用的dao全部搞定,确切舒服.
service中的操作全部调用通用dao(getObjects(),saveObject(),updateObject(),removeObject())
public BeanValue saveItem(RequestMap rMap) {
BeanValue value = null;
try {
log.info("=====begin to save alexItem object");
value = new BeanValue();
AlexItem alexItem = (AlexItem) BeanUtil.convertObject(AlexItem.class, rMap.getMap());
dao.saveObject(alexItem);
log.info("=====end to save alexItem object");
value.addRequestMap("admin",alexItem);
value.setForword("success");
} catch (BaseException e) {
value.addErrorMap("errorName",e);
value.setForword("error");
}
return value;
}
乐意听听各位在项目中的做法.
以上是“简化hibernate,简化dao[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |