[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-7084) Caused by: java.lang.ClassCastException: cannot be cast to org.hibernate.dialect.Dialect
Artem V. Navrotskiy (JIRA)
noreply at atlassian.com
Mon Feb 20 01:34:12 EST 2012
[ https://hibernate.onjira.com/browse/HHH-7084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Artem V. Navrotskiy updated HHH-7084:
-------------------------------------
Attachment: ClassLoaderServiceImplTest.java
Added check for class in SystemClassLoader (if the class is not there, then the test will be successful on a broken version).
> Caused by: java.lang.ClassCastException: cannot be cast to org.hibernate.dialect.Dialect
> ----------------------------------------------------------------------------------------
>
> Key: HHH-7084
> URL: https://hibernate.onjira.com/browse/HHH-7084
> Project: Hibernate ORM
> Issue Type: Bug
> Components: core
> Affects Versions: 4.1.0
> Environment: Idea 11.0.02, JDK 7, GWT 2.4.0 Dev Mode, Hibernate 4.0.0+
> Reporter: Artem V. Navrotskiy
> Labels: GWT, hibernate
> Attachments: classloader.patch, ClassLoaderServiceImplTest.java, ClassLoaderServiceImplTest.java
>
>
> If you run GWT application from JetBrains Idea in Dev Mode, GWT builds custom ClassLoader.
> When Hibernate creates of any object by it's name (Dialect for example), if class available for SystemClassLoader it's will be created by SystemClassLoader. Not by a current ClassLoader.
> This is due to the fact that the class ClassLoaderServiceImpl$1 uses SystemClassLoader as parent ClassLoader.
> Stacktrace:
> javax.persistence.PersistenceException: Unable to build EntityManagerFactory
> at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
> at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
> at ru.buzzsoft.common.HibernateHelper.createEntityManagerFactory(HibernateHelper.java:180)
> at ru.buzzsoft.delivery.PersistentFactory.getEntityPersonalFactory(PersistentFactory.java:21)
> at ru.buzzsoft.delivery.server.api.impl.ContextImpl.<init>(ContextImpl.java:126)
> at ru.buzzsoft.delivery.server.api.impl.ContextImpl.<init>(ContextImpl.java:89)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> at java.lang.Class.newInstance0(Class.java:372)
> at java.lang.Class.newInstance(Class.java:325)
> at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153)
> at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:253)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:616)
> at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
> at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
> at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> at org.mortbay.jetty.Server.doStart(Server.java:222)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)
> at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
> at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
> at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
> at com.google.gwt.dev.DevMode.main(DevMode.java:311)
> Caused by: org.hibernate.HibernateException: Could not instantiate dialect class
> at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:82)
> at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:64)
> at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:146)
> at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
> at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
> at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
> at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)
> at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273)
> at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269)
> at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738)
> at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:88)
> at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
> ... 32 more
> Caused by: java.lang.ClassCastException: org.hibernate.dialect.H2Dialect cannot be cast to org.hibernate.dialect.Dialect
> at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:73)
> ... 43 more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list