论坛首页 Java企业应用论坛

Spring的DAO设计实践

浏览 108720 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-05-11  
z_jordon 写道
Robbin说的那个链接可能是换了吧,是不是这个?
http://www.gpowersoft.com/tech/Spring/46.htm
如果是这个的话,我有些疑问,比如我的一个UserServiceImpl,如果我没理解错的话应该是这样写:
public UserServiceImpl extends EntityManagerImpl  implements UserService {
    public User getUser(Long id); {
        return (User);super.get(User.class, id);;
    }
    public Long createUser(User user); {
        return (Long);super.create(user);;
    }
    .....
}

假如写action的程序员与写service的不是同一个程序员,那么他是要调用哪一个方法呢?
userService.createUser(user) or userService.create(user)?
如果我在service这层中有其它的业务逻揖,比如我需要记录下创建这个user的详细日志(创建时间,用户名等等),那调用后面的那个通用的方法显然是错的。


怎么在spring的配置文件里面配置UserServiceImpl 的事物管理???
0 请登录后投票
   发表时间:2006-05-12  
robbin 写道
http://www.gpowersoft.com/tech/Spring/46.htm

这里有篇如何设计DAO来良好利用Spring的Hibernate支持类的文章,我觉得挺不错,推荐一下。


想问一下,如果按链接中来设计DAO,那延迟加载怎么搞呢?
0 请登录后投票
   发表时间:2006-05-26  
链接打不开,失效了吗?
谁还有原始的文章
0 请登录后投票
   发表时间:2006-05-29  
说起生成器,我自己也写了一个,用digester 读配置,freemarker的模版生成。

没考虑扩展,目前只为ibatis做了。

eclipse项目,有支持包在里面:
http://dwangel.mudfans.cn/wp-content/uploads/2006/05/gentool-share.zip

我发现,用模版方式,只要设计好数据model,然后
改一下已有代码做成模版就不错。
0 请登录后投票
   发表时间:2006-05-31  
newjoy 写道
public class UserResponsionDAOHibernate
    extends HibernateDaoSupport
    implements UserResponsionDAO {
  private static Log log = LogFactory.getLog(UserResponsionDAOHibernate.class);;

  private static String FIND_BY_OWNERID =
      "from UserResponsion a where a.ownerId = ?";
 
  public List searchByOwnerId(long ownerId, int start, int range); {
    List l = new ArrayList();;
    Session s = this.getSession();;
    try {
      Query q = s.createQuery(FIND_BY_OWNERID);;
      q.setLong(0, ownerId);;
      q.setFirstResult(start);;
      q.setMaxResults(range);;
      l = q.list();;
    }
    catch (HibernateException ex); {
      log.error("search UserResponsion by ownerId error", ex);;
    }
    finally {
      this.closeSessionIfNecessary(s);;
      return l;
    }
  }

}


那我再将代码贴得完整些,session 是继承 HibernateDaoSupport,本身就具备的成员变量。

对 spring 我仍停留在使用阶段,没有打算去看它的源码。

只是我看过前面的帖子说HibernateTemplate 不方便,甚至要 HibernateCallBackup(),不太明白为什么有这样的结论。


我也想知道,像上面说写的Session s = this.getSession(); 不明白到底行不行?
0 请登录后投票
   发表时间:2006-08-08  
引用
session 是继承 HibernateDaoSupport,本身就具备的成员变量。


引用
我也想知道,像上面说写的Session s = this.getSession(); 不明白到底行不行?

如果是继承HibernateDaoSupport的话,当然能够得到session了。
0 请登录后投票
   发表时间:2007-04-29  
fly_ever 写道
引用
session 是继承 HibernateDaoSupport,本身就具备的成员变量。


引用
我也想知道,像上面说写的Session s = this.getSession(); 不明白到底行不行?

如果是继承HibernateDaoSupport的话,当然能够得到session了。



session 用完后应在 finally里关掉。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics