hibernate连接不同数据库会使用不同的dao吗?
情况是这样的我在家用不了oracle 用的mysql 学校用oracle ,用hibernate做个小项目,在换数据库时所需的dao类还需要重新生成吗?xml都改过了...小弟刚接触hibernate 分不多 希望高人解答
不需要啊
hibernate有一个重要帆猜作用慧轿知就是解决数据库切换问前消题
除非你的dao内除了使用hibernate 还直接使用了一些不标准的SQL语句
如果你在dao层使用了sql语句中的特有函数就需要更改、如果没有使闹磨用无需液迅斗昌察更改,但是hibernate中的连接url 用户名 密码 方言是要改的
不同数据库主要就是连接地址,需要修改,如果你使用了某种数据库的则薯特定函数,或者特性,都需要修改,如果是没盯唤严格SQL标准语句,那么只需要修改数据库的连接地址即可。枯凯
其实只要修凯氏蚂改xml里面的盯埋配核裂置就好了,比如driverClassName,url和用户名密码,然后把jar包也换一下就好了。记得换jar包啊!驱动包不一样!
使用Hibernate一般情况下换数据库,dao类是不需要重新生成。Hibernate本身就封装对不同数据库的操作。只要羡租你在dao类没有使用到Oracle特殊手派卖的SQL 函数, 都是采用HQL 获取Hibernate本身提供的方毕逗法操作。
需要修改的是 hbm.xml配置文件中定义的字段映射。