『壹』 hibernate切換了不同的資料庫,那hql還需要改動嗎它會自動轉換成對應資料庫語言的sql嗎
不需要改動。hql是獨立於資料庫的,hibernate切換資料庫以後,除了jdbc的一些如地址、用戶名、密碼要換以外。
Hibernate支持不同的資料庫主要是用方言也就是dialect的,對應就是hibernate.cfg.xml配置文件里的一個設置,比如 SQL Server的就是:
<propertyname="hibernate.dialect"value="org.hibernate.dialect.SQLServerDialect"/>
這里的org.hibernate.dialect.SQLServerDialect是hibernate帶的或你自己提供的一個資料庫數據類型映射的一個Java類,由它處理不同資料庫的區別。
但是如果不同的資料庫之間差別太大的話,即直接要寫不同的SQL語句的話,Hibernate的dialect也處理不了。
『貳』 hibernate採用什麼設計模式切換數據源
Hibernate可以用在任何JDBC可以使用的場合,例如Java應用程序的資料庫訪問代碼,DAO介面 的實現類,甚至可以是BMP裡面的訪問資料庫的代碼。從這個意義上來說,Hibernate和EB不是一個范疇的東西,也不存在非此即彼的關系。 二、Hibernate是一個和...