設定連接池時, 遇到兩個問題
1. Hibernate並未使用所設定的C3P0連接池, 出現下列訊息
INFO [org.hibernate.connection.DriverManagerConnectionProvider] - Using Hibernate built-in connection pool (not for production use!)
解決方法是在hibernate.cfg.xml裡面加入這行
<property name="connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
2. 連接池程式無法正確使用Log4J的錯誤訊息
log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).
log4j:WARN Please initialize the log4j system properly.
雖然說warning不是很要緊, 但是看到這樣的訊息還是讓我很想處理掉這個狀況.
解決方法很簡單, 在log4j.properties裡加入這行
log4j.logger.com.mchange.v2=INFO, A1
P.S. A1是我設定的appender
星期一, 5月 11, 2009
星期五, 5月 08, 2009
Hibernate初體驗
資料庫一向是我特別有興趣的部分, 但Hibernate卻一直沒好好研究與使用, 除了是對於自己既有技能的依賴, 另外也是不想因為framework而失去某些彈性. 但現在Hibernate支援了JPA(EJB3.0規格中的重點之一), 所以系統若需要分散式架構時也可以很容易的擴充, 另外JPA也可以使用在GAE上, 因此現在學習使用Hibernate可說是非常有利的時機點.
我先閱覽了 良葛格學習筆記, 受益良多, 也對於Hibernate有一個快速的認識 (這幾年來, 我應該是第四次看這個網站上的Hibernate介紹了, 站主真的很用心, 更新的也很快).
不過接下來的實作練習還是吃了不少苦頭, 因為
另外試著跑自己想要的SQL statement和子查詢, 結果也是ok的.
初體驗的結論是, 目前看來一切都很不錯. 要繼續深入研究下去囉!
我先閱覽了 良葛格學習筆記, 受益良多, 也對於Hibernate有一個快速的認識 (這幾年來, 我應該是第四次看這個網站上的Hibernate介紹了, 站主真的很用心, 更新的也很快).
不過接下來的實作練習還是吃了不少苦頭, 因為
- 我不喜歡重頭開始刻程式, 所以看到Hibernate Tool可以從資料庫反轉產生code就覺得非用不可
- 我並不想認識原來的Hibernate, 也就是還需要*.hbm.xml的寫法
- Hibernate的JPA實作包括 Annotations 和 EntityManager, 我並不清楚這兩者的關係以及與EJB的關聯性
- 我也沒搞懂persistence.xml 和 hibernate.cfg.xmlx兩者的關係以及與EJB的關聯性, 連要放哪個目錄下都不知道
- 一堆相依的libraries也沒搞懂
- 因為需求的關係, 目前我只想使用Tomcat, 並不想使用JBoss/ Glassfish
- 我不想使用command line來跑Ant之類的東西, 一心只想使用Eclipse來操作
- 我甚至也不知道Hibernate可以不在AP server/ Web server跑, 哈哈
- 我一向沒看完使用者手冊的習慣... 真糟糕的習慣...
另外試著跑自己想要的SQL statement和子查詢, 結果也是ok的.
初體驗的結論是, 目前看來一切都很不錯. 要繼續深入研究下去囉!
訂閱:
文章 (Atom)