2012-11-27 19 views

cevap

6

nedenleri üzerinde açıklanmıştır hazırda en Şu anda SessionFactory bir raddeye gelmesine izin, karıştırarak bir yapılandırma nesnesi haline şeyler bir grup atarak inşa edilmiştir

JIRA

https://hibernate.onjira.com/browse/HHH-2578

, ve sonra SessionFactory'yi dışarı çekerek. Ciddiyet olarak, şu anda bir Yapılandırma içinde çalışma şeklimiz ve SessionFactory oluşturmak için nasıl kullandığımızla ilgili birkaç sorun vardır: Genel bilgi, çeşitli bilgi parçalarının mevcut olacağı zaman "yaşam döngüsü" olmayacaktır. Bu, bir çok yolla önemli bir ihmaldir: 1) şema oluşturmayı düşünün. Şu anda çok sayıda db nesne adı belirlendiğinde, lehçeyi bile bilmiyoruz. Bu hoş olurdu, çünkü örneğin diyalekteki anahtar kelimeler/ayrılmış kelimeler olan tablo/sütun adlarını saydam bir şekilde ele almamıza izin verirdi. 2) tür statik ve tip eşleştirmeleri. Çünkü şu anda bunları kapsamak için hiçbir şeyimiz yok. İdeal olarak, bir örnek örneği, bağlı olduğu SessionFactory'nin farkında olur. Bunun yerine, şu anda sahip olduğumuz API yöntemlerini değiştirmek gerektiğinde SessionFactory uygulamasında geçirilen bir parametre olarak eklemek için oldukça fazla zaman harcıyor. 3) Ayrıca, hazırda beklemedeki "statik" yapılandırma parametrelerinin çoğunun (tümü?) Şu anda bu statik türler içinden kullanımları nedeniyle olması gerekir; Dolayısıyla, kapsam belirleme türleri, bu yapılandırma parametrelerini (bytecode-sağlayıcı, ikili akışların kullanımı, vb.) de kapsamamıza izin verir. Gerçekleştirdiğim şey, kullanıcıların org.hibernate.cfg.Settings (veya benzer bir şey) örneğinin kendileri oluşturduğu bir şemadır. Ayrıca, meta veriyi bir çeşit kayıt defterine uygulayacaklar (MetadataRegistry için şimdilik çağrı yapalım). Daha sonra bir SessionFactory oluşturmak için, bu iki bilgi parçasını tedarik edecekler (ctor aracılığıyla? Oluşturucu aracılığıyla?). Ancak önemli olan, MetadataRegistry'deki bilginin, o zamana kadar ele alınmamasıdır. Bu, şema nesnesi adlarını, türlerini, vb. Çözümlenmenin, çalışma zamanı Ayarlarına (ve özellikle de lehçeye) erişebileceğini garanti etmemize olanak verir.

hamur kopyalamak için https://hibernate.onjira.com/browse/HHH-7580 Onun çok fazla ve ben JIRA nedenle bu cevap geçerli olmalıdır aşağı gitmeyecek tahmin: Ayrıca okuyabilir

bu bir yeniden yorumlar.

İlgili konular