2010-02-24 17 views

cevap

7

Bazı insanlar cevabımı doğru bir şekilde okuyamıyormuş gibi görünüyor, bu yüzden ben yeniden ifade edeceğim: hibernate.properties doğru görünüyor, özellik iyi tanımlanmış, çalışması gerekiyor. Öyleyse soru için üzgünüm ama sınıf yolunda CGlib mi?

Güncelleme: Sadece test edilmiş ve benim için çalışıyor. İşte başlatma sırasında elde çıktısı:

 
15 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1 
18 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.bytecode.use_reflection_optimizer=false, hibernate.bytecode.provider=cglib} 
20 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : cglib 

PS: CGLIB support has been deprecated geçenlerde (bu CGLIB kullanmak mümkün olmayacaktır anlamına gelmez ama entegrasyon artık korunmaz) unutmayın.

+0

Ortamınızda nasıl çalıştığını bilmiyorum (belki JBoss ile hazırda bekletiliyorsunuz?), Fakat hazırda bekletme yapmak için sınıf oluşturmada (stupid!) Sınıf yolunda bir sistem özelliği veya bir "hibernate.properties" gerekir. sağlayıcı ayarı. Yani sınıf yolunda "cglib" olması sorunun bir kökü değildir. Hem 3.3.1 hem de 3.3.2 "kutunun dışında" çalışmaz. –

+0

@dma_k Soruyu tekrar okuyun, OP ** yok ** bir hibernate.properties' dosyası var (* "Özellikler dosyamda, sınıf yolunda *) belirledim, bu bölüm benim cevabım tarafından ima edildi (* "ve mülkünüz iyi tanımlanmış" *). Belki ** siz OP'nin ne dediğini yanlış anladınız, bu durumda, oylarınızı tekrar gözden geçirmenizi rica ediyorum. Asla mülkiyet dosyasının gerekli olmadığını söylemedim. –

+0

@dma_k Günlük izlemesi, bir hibernate.properties değerine sahip olduğumu bile gösterir. Söylediklerimi tamamen yanlış anladın. –

1

Evet, ayrıca bazı kaynak klasörüne

hibernate.properties 

koymak ve bağımlılıkları hibermate-CGLIB-repack var unutmayın: CGLIB kütüphanesi yaklaşık 4 yıldır geliştirilen değildir Hatırla o

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-cglib-repack</artifactId> 
    <version>2.1_3</version> 
</dependency> 
+0

Hazırda bekleme 3.3.2'den itibaren cglib'nin yeniden paketlenmiş sürümü gerekli değildir. Ve, en azından 3.2.x için, '-Dhibernate.bytecode.provider = cglib' system özelliğini ya da tanımlanmış aynı özellikte bir classpath geneli olan hibernate.properties oluşturmak için gereksinim duyar. –

1

. Ancak, kodunuzu hala aktif bir şekilde sürdürülen Javassist ile çalışacak şekilde yapmanız gerekir.

İlgili konular