shinewang

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            53 隨筆 :: 0 文章 :: 200 評(píng)論 :: 0 Trackbacks
          Hibernate是一個(gè)流行的Java對(duì)象關(guān)系映射框架,Grails的數(shù)據(jù)訪問(wèn)層GORM就是建立在Hibernate的基礎(chǔ)上。Hibernate能夠根據(jù)配置自動(dòng)生成SQL語(yǔ)句,使得程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。然而如果使用不當(dāng),往往容易造成性能問(wèn)題,例如N+1次查詢問(wèn)題。在開發(fā)過(guò)程中,常常需要通過(guò)查看Hibernate生成的SQL來(lái)對(duì)數(shù)據(jù)訪問(wèn)層進(jìn)行調(diào)優(yōu)。Grails使用了Log4j作為日志組件,因此可以像傳統(tǒng)的基于Hibernate的Java項(xiàng)目那樣,通過(guò)配置Log4j來(lái)達(dá)到輸出Hibernate SQL Log的功能,這里就不再詳述。Grails提供了兩種更加簡(jiǎn)單的方法:

          1.修改config.groovy文件中的log4j configuration,把hibernate="off"改成hibernate="on",這樣就可以輸出Hibernate運(yùn)行的詳細(xì)日志,包括SQL Log。

          2.一般情況下,我們不需要方法1輸出的詳細(xì)的日志,僅僅需要輸出SQL Log,可以DataSource.groovy中的數(shù)據(jù)庫(kù)環(huán)境配置(environment specific settings),例如在development的dataSource中添加logSql = true即可。

          //?environment?specific?settings
          environments?{
          ??development?{
          ????dataSource?{
          ??????dbCreate?
          =?"update"?
          ??????url?
          =?"jdbc:hsqldb:mem:devDB"
          ??????logSql?
          =?true
          ????}
          ??}
          }
          posted on 2008-12-03 15:08 shinewang 閱讀(2829) 評(píng)論(0)  編輯  收藏 所屬分類: Groovy & Grails
          主站蜘蛛池模板: 阿勒泰市| 长沙市| 岢岚县| 华阴市| 太谷县| 岱山县| 临西县| 任丘市| 达尔| 洛阳市| 张家口市| 西藏| 桂东县| 香格里拉县| 南部县| 镇平县| 香港| 鄂托克旗| 靖安县| 清丰县| 南江县| 陆河县| 饶平县| 田阳县| 民勤县| 南靖县| 广灵县| 银川市| 浦县| 新安县| 五台县| 酉阳| 积石山| 衡东县| 博爱县| 平乡县| 济宁市| 通化市| 高尔夫| 江津市| 东海县|