Web uygulamasında çalışıyorum. Projemizde ORB olarak Hazırda Beklemeyi kullanıyoruz. Aslında, uygulamamız kullanıcı seçimine bağlı olarak dinamik olarak bazı tablolar oluşturur. Kullanıcı tablo adını, sütun adını seçebilir ve daha sonra bir csv dosyasından veri alabilir. Bu yüzden sorum şu: Dinamik olarak oluşturulmuş bu tabloyu Hazırda Beklet ve Java nesneleriyle nasıl eşleştirilir?Dinamik hazır tabloyu Hazırda bekletme nasıl eşlenir?
cevap
Bu dinamik yapılabilir, ancak biraz dağınık:
Sen SessionFactory inşa edilmeden önce dinamik olarak hazırda bekleme en Yapılandırma nesnesi değiştirmek gerekir. İlkbahar kullanıyorsanız, bu AnnotationSessionFactoryBean
postProcessAnnotationConfiguration()
yöntemini geçersiz kılarak yapılabilir; aksi halde, buildSessionFactory()
'u çağırmadan önce bunu Yapılandırma nesnesini kullanarak yapmanız gerekir.
Uygulama yeniden başlatma olmadan bunu yapmanız gerekiyorsa, ya SessionFactory'nizi yeniden yapılandırmaya (yani, kullanıcıların bunu yapana kadar beklemek zorunda kalacağı anlamına gelir) veya özel sınıflarınıza özel olarak ayrılmış ayrı bir SessionFactory örneği (Özel sınıflarınızın yerleşik sınıflarınıza başvurması gerekiyorsa, imkansızdır.
Sınıf/tablo eşlemelerine configuration.getMappings()
aracılığıyla erişebilirsiniz. Ardından, Table API aracılığıyla yeni bir tablo eşlemesi oluşturup addTable()
aracılığıyla yapılandırmaya eklemeniz gerekir. Aynı şey, bir sınıf eşlemesi olan PersistentClass ile yapılmalıdır. Birden fazla varlıkları temsil etmek için aynı sınıfı kullanıyorsanız (ör., Birden çok tabloyu eşleme), her biri için benzersiz varlık adlarını kullandığınızdan emin olun. Her uygulama yeniden başlatıldığında bunu yapmanız (yapılandırmayı değiştirmeniz) gerekecektir.
Tablolar ne kadar dinamik olarak oluşturulur? Tablolar benzer mi ve sadece veritabanı adını değiştirdiniz mi? Bir görüşe http://www.experts-exchange.com/Programming/Languages/Java/J2EE/Frameworks/Spring/Q_24237099.html
tamamen yeni bir tablo inşa ediyoruz, bir görünümü kullanabilirsiniz ve sadece doğrudan insanlar: İşte
bir tablo adını değiştirme tartışması nedir?JDBC'de dinamik olarak sorgular oluşturmaktan ziyade, bunun için Hazırda Bekletme özelliğini neden kullanıyorsunuz?
Veritabanı çözümü - bir görünüm oluşturabilir ve onu bir tabloya veya başka bir yere yönlendirebilirsiniz (yapının aynı olduğunu varsayarak).
,
veya
Sen yerli SQL (DDL) yürütmek için size uygulaması gerekir TABLE_B
GELEN SEÇ * olarak GÖRÜNÜM HIBERNATE_NAME CREATE TABLE_A GELEN SEÇ * olarak ancak bu GÖRÜNÜM HIBERNATE_NAME CREATE Hibernate hack'lerinden daha kolay olmalı- 1. Hazırda bekletme: * .hbm.xml dosyasını farklı bir klasörde nasıl eşlenir?
- 2. Hazır sorgular'ı Hazırda Bekletme ek açıklamaları uygulamasında nasıl dışa aktarırım?
- 3. IllegalArgumentException: Hazırda bekletme türü uyuşmazlığı Hazırda bekletme
- 4. Hazır giriş hatalarını Hazırda bekletme, MySQL tarafından suçlanıyor mu?
- 5. Hazırda Bekletme -
- 6. Hazırda bekletme, JPA'dan hazırda bekletme modunu nasıl başlatılır?
- 7. Hazırda Kümelenmiş Yapılandırmada Hazırda Bekletme?
- 8. Hazırda bekletme silme ile ilgili sorunlar Hazırda bekletme
- 9. Hazırda Bekletme Süresi Hazırda Beklemede
- 10. Hazırda bekletme sorgusu nasıl görüntülenir?
- 11. Hazırda Bekletme JDBC'yi nasıl kullanır?
- 12. Hazırda Bekletme dizisi
- 13. NoClassDefFoundError Spring maven ile hazırda bekletme/hazırda bekletme/ejb/Hazırda Bekletme Durumu
- 14. İlkbahar + Hazırda Bekletme + JPA
- 15. Hazırda Bekletme durumu
- 16. Kompleks Hazırda Bekletme Projeksiyonları
- 17. Hazırda bekletme - Bir sütun için eşleme nasıl devre dışı bırakılır
- 18. Karmaşık bağlantılar için hazırda bekletme
- 19. Sonuçları Hazırda bekletme değerine göre ayarlama Hazırda bekletme
- 20. Hazırda bekletme ile çalışma Hazırda bekletme durumunu öğrenmek için
- 21. JPA Hazırda Bekletme durumu istisnası [PersistenceUnit: default] Hazırda bekletme yapılamıyorSessionFactory
- 22. Hazırda bekletme org.hibernate.persister.entity.SingleTableEntityPersister
- 23. Hazırda Bekletme Oturumu, ConstraintViolationException
- 24. PostgreSQL'de hazırda bekletme çalışmıyor
- 25. Annotaion ile hazırda bekletme
- 26. Kapatma Hazırda bekletme günlüğü
- 27. Hazırda Bekletme 3.2.5 - 3.6
- 28. Hazırda bekletme çok yavaş
- 29. Hazırda bekletme boyutu karışıklığı
- 30. Hazırda bekletme bağlantısını kurtarabilirsiniz
Bu sorunun Hibernate'i kullanmasının doğru olmadığını kabul ediyorum. – sbidwai