论坛首页 Java企业应用论坛

Generic Data Access Objects -范型DAO类设计模式

浏览 33472 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-04-11  
LZ的方法确实不错,现在有很多的开源框架都是采用了这种泛型的DAO设计。比如springside 2.0。这样的做法可以让Java代码也可以具有ROR般的代码量和强大的功能。
0 请登录后投票
   发表时间:2007-04-12  
好帖,先收藏了。
可惜jdk5的定义看不懂,感觉通用对象的dao还是值得借鉴的。
0 请登录后投票
   发表时间:2007-04-12  
好东西,已经参考到项目里面了,思想很好~可以在接口上层再次抽象出一个泛型接口,这样共用方法完全就没有重复的必要了~
0 请登录后投票
   发表时间:2007-04-16  
public abstract class GenericDAOHibernate 〈T,ID extends Serializable, DAOImpl extends IGenericDAO〈T,ID〉〉 
        implements IGenericDAO〈T,ID〉 
{   
    private Class persistentClass;   
   
    protected Session session;   
   
    public GenericDAOHibernate()   
    {   
        this.persistentClass = (Class) ((ParameterizedType) getClass()   
                .getGenericSuperclass()).getActualTypeArguments()[0];   
    }   


这个用的getGenericSuperclass()).getActualTypeArguments()[0]; 方法取得entity class
为什么不用getGenericInterfaces。getActualTypeArguments来取得呢?
0 请登录后投票
   发表时间:2007-04-18  
tsingn 写道
rainlife 写道
前几天在论坛里看到一个关于新手帖在论坛中的地位问题,我觉得,是不是JE也能够站在我们这些新手的立场上面给于一定的关注呢?

强烈支持,人都是从菜鸟到老鸟的。希望给新手更多的帮助。



另外,我想问一下,在spring的配置种,userdao这个bean 该如何配置才可以将这几个参数(〈User,Integer,IUserDAO〉)传给GenericDAOHibernate ?


我也有这个问题。 是不是Spring应该不支持这种注入??

因为我想

public class BussnessServiceImpl implement BussnessService{

     private HibernateEntityDao<User> userDao = null;

     private HibernateEntityDao<Category> categoryDao = null;

  
     ..................

     // getter  setter


}
0 请登录后投票
   发表时间:2007-04-19  
this.persistentClass = (Class)((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];   

这一句就是经典的取泛型的类元了。
因为Java使用擦拭方法处理泛型,才要这么绕个弯拿到。
0 请登录后投票
   发表时间:2007-04-19  
public abstract class GenericDAOHibernate 〈T,ID extends Serializable, DAOImpl extends IGenericDAO〈T,ID〉〉

谁能帮忙解释一下
DAOImpl extends IGenericDAO〈T,ID〉

在这里的作用是什么?实在看不懂?
0 请登录后投票
   发表时间:2007-04-20  
终于可以发贴了,先透透气!
0 请登录后投票
   发表时间:2007-04-20  
wensky222 写道
public abstract class GenericDAOHibernate 〈T,ID extends Serializable, DAOImpl extends IGenericDAO〈T,ID〉〉

谁能帮忙解释一下
DAOImpl extends IGenericDAO〈T,ID〉

在这里的作用是什么?实在看不懂?

用来限制DAOImpl类 , DAOImpl 必须实现IGenericDAO接口
0 请登录后投票
   发表时间:2007-04-20  
tsingn 写道

另外,我想问一下,在spring的配置种,userdao这个bean 该如何配置才可以将这几个参数(〈User,Integer,IUserDAO〉)传给GenericDAOHibernate ?

在使用Spring注入的时候,和泛型没有关系的,该怎么注入就怎么注入,泛型只是用来限制类的,并不是这个类属性。
0 请登录后投票
论坛首页 Java企业应用版

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