itVincent Blog - Java Working Fun!

          技術引領時代!
          posts - 117, comments - 181, trackbacks - 0, articles - 12

          [Hibernate]SchemaUpdate建立索引問題

          Posted on 2008-12-02 10:57 itVincent 閱讀(841) 評論(0)  編輯  收藏

          [Hibernate]SchemaUpdate建立索引問題

          關鍵字: hibernate schemaupdate 索引
          當hibernate的hbm2dll配置為
          1. hibernate.hbm2ddl.auto update  
          將會發現Hibernate不會為我們創建任何自定義的索引(不包括主鍵跟外鍵索引),不論你使用xml方式或者annotation進行聲明配置
          這個問題在Hibernate的JIRA多次出現,甚至有人專門為此發布了打了補丁的hibernate.jar
          這個所謂的bug,在目前已發布的hibernate的版本中,一直都沒有解決,或者說不予理睬(Gavin King個人認為這個不是bug)

          這里引用hibernate 3.2.5版的jira
          http://opensource.atlassian.com/projects/hibernate/browse/HHH-1012

          引用Hibernate上官方的解釋
          引用

          The hibernate.hbm2ddl.auto=update setting doesn't create indexes
          SchemaUpdate is activated by this configuration setting. SchemaUpdate is not really very powerful and comes without any warranties. For example, it does not create any indexes automatically. Furthermore, SchemaUpdate is only useful in development, per definition (a production schema is never updated automatically). You don't need indexes in development.

          Hibernate doesn't generate the database indexes I want in the schema!

          Automatic schema export (and update) by Hibernate tools is only useful in development. You never need indexes in development, they are purely for performance and scalability tuning in production systems. Production schemas are never automatically generated, at least not completely. A DBA adds indexes to the automatically generated schema during SQL tuning and testing of the application, before going into production with the (possibly automatically generated) base schema, and her handwritten optimized DDL. Also note that optimized DDL is highly vendor specific and totally dependent on the environment (SQL execution plans, tablespace configuration, caches, etc). Even if Hibernate developers would encourage you to automatically generate production-ready schemas (we don't, and we also don't like ad-hoc SQL tuning by throwing a bunch of indexes onto a schema), Hibernate could never offer such a feature.
          轉自: http://xmkevinchen.javaeye.com/blog/196372


          郁悶非常的一個"BUG",只有把hibernate.hbm2ddl.auto update  改成create才能生成索引

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 来安县| 磐石市| 青铜峡市| 龙游县| 滦平县| 古蔺县| 寿阳县| 汾阳市| 锡林浩特市| 鄱阳县| 武夷山市| 连云港市| 黄浦区| 宝山区| 双柏县| 皮山县| 漳州市| 阳原县| 灵川县| 长治市| 鹰潭市| 怀来县| 百色市| 阿勒泰市| 肥城市| 中山市| 岳普湖县| 东乌珠穆沁旗| 会理县| 措勤县| 闵行区| 额尔古纳市| 黔江区| 龙川县| 财经| 镇坪县| 梁平县| 麻城市| 当涂县| 文昌市| 张家港市|