Recentemente stavo integrando una semplice applicazione Grails con il plug-in ricercabile. Quello che ho trovato è che il plugin ricercabile non funziona con la libreria di Hibernate 4.Grails 2.4 + Hibernate 4 + Plugin ricercabile = ClassNotFoundException: org.hibernate.impl.SessionFactoryImpl
Qui potete trovare un'applicazione di esempio che contiene solo Grails puliti 2.4 app con unico plugin ricercabile aggiunto - https://github.com/wololock/grails-searchable-example
Quando eseguo questa app con:
runtime ":hibernate4:4.3.5.5"
dipendenza, esso non comincerà e getta un'eccezione:
ClassNotFoundException: org.hibernate.impl.SessionFactoryImpl
quello che ho trovato già è che nel Hibernate4 SessionFactoryImpl è stato spostato nella org.hibernate.inte pacchetto rnal e sembra che Compass cerca questa classe nella vecchia posizione:
2014-10-11 19:41:58,142 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: org/hibernate/impl/SessionFactoryImpl
Message: org/hibernate/impl/SessionFactoryImpl
Line | Method
->> 95 | injectLifecycle in org.compass.gps.device.hibernate.lifecycle.DefaultHibernateEntityLifecycleInjector
Ritornando al:
runtime ":hibernate:3.6.10.17"
e cambiando
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
nelle risolve DataSource.groovy il problema.
La mia domanda è: c'è qualche soluzione per utilizzare il plug-in ricercabile con Hibernate 4 o dobbiamo aspettare o risolvere il problema in Compass/Searchable codice sorgente? Come hai affrontato questo problema nella tua applicazione Grails? Sarò grato per i tuoi suggerimenti.
questo è ciò che mi sanguinose fessure con Grails ... tutti questi fantastici plugin, che non lavorano con le ultime versioni di Grails, così frustrante devono spendere il 99% del tempo in cerca di soluzioni e soluzioni alternative –