★能完满解决→【+100分】Hibernate自动生成的Dao调用问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:52:53
我有2个表生成了Dao:

其中一个接口:
public interface IBaseHibernateDAO {
public Session getSession();
}
一个接口的实现:
public class BaseHibernateDAO implements IBaseHibernateDAO {
public Session getSession() {
return HibernateSessionFactory.getSession();
}
}
还有2个实际操作数据库的类,继承BaseHibernateDAO:
public class NewsinforDAO extends BaseHibernateDAO {
具体实现不重要,略……
}
public class UserinforDAO extends BaseHibernateDAO {
具体实现不重要,略……
}
============
现在我写业务逻辑:

public class BaseServiceImpl implements BaseService {

}
这里面,怎么调用Hibernate自动生成的Dao?(不要和我说分别new NewsinforDAO和UserinforDAO,每次用还要看new哪个类。要是1000个类不是要找到死?)

我要类似接口的解决方式(第一次用工具生成Dao,原来一直手写的。说起来Hibernate自动生成的Dao还真不怎么样……)
========================================================
谢谢dinggx,我原来就是这样用的。

因为一直看到别人说什么工具自动生成,我想看看是什么样子的。

不过你貌似偏题了……

我想问的是:自动生成的DAO怎么调用?用hibernate工具生成Dao开发的朋友们说说?
==

那就用泛型吧,生成的内容都是一样的。如果没有特殊的需求,一个实现类搞定所有的业务操作。有特殊需求,再从这个泛型实现类中继承过来
-----------

哎,工具生成的哪能跟手动写的比呢,它只能用来解决一些通用的操作,如果你真的有1000个类,那就绝对是一个超大型的项目,怎么可能会让它自动生成呢?现在比较流行的做法是Spring配置文件,加上HibernateSupportDao类,dao的初始化由spring容器来做。现在的工具还没有智能到零代码编写程序的地步,话又说回来,如果真的什么都交给工具了,要我们程序员还做什么

所以,小的项目、要求不太严的项目用工具帮助快速开发,通过new的方式创建实例也是必须的。大的项目,表格能超过100个的都是大型项目了,手工编码可以更好地解决问题,可以更好地把人的作用体现出来。

~~~~~~~~~~~~~~~~~~~~~
生成的2 个dao文件继承于同一个接口实现类BaseServiceImpl,同样可以使用原来的方式进行子类的调用。但不管怎么用,你总是要给它子类的名称的,

如果能再加上泛型的使用就更完美了,采用反射机制进行POJO的调用,这样可以通过BaseServiceImpl类来实现一些通用功能,子类只需完成特殊需求。
~~~~~~~~~~~~~~~~~~~~~~`
V512工作室的hibernate视频中第5讲是讲如何定义一个泛型DAO,以及如何使用的。你可以下载下来看一下。
http://www.verycd.com/topics/215898/

用父类调用同时多个子类,你这个说的是使用工厂类调用不同的功能类,这个是spring来处理的。
建议一个dao只处理一个表的curd,这样是为了解耦合
你可以参考这个
完满答案送你100分.不喜欢数字题的别来. ”浪子”谁能给我一个完满的解释? 谁能解决加100分! 系统问题.能解决追加100+分 如果能解决追加100分! 谁能解决马上追加100分 她写给一个人的话 各句解读完满意的再给分 谢! 内存问题???急!!!怕没人能解决,能解决再加100分。 能解决给100分的卸载问题! 奇怪的鼠标问题,谁能解决追加100分