I'm updating an old webapp from more than 10 years ago, and I've had to update some of the Spring and Hibernate dependencies to work with newer JDK and app servers. Right now I'm trying to get one of my unit tests to run, but it's having trouble injecting dependencies.
My app is configured using annotations. I have an AppConfig
class that has a @Bean AnnotationSessionFactoryBean sessionFactory()
method:
@Configuration
@EnableAsync
@EnableTransactionManagement
@ComponentScan(basePackageClasses = { <redacted>.model.User.class,
<redacted>.dao.UserDAOHibernate.class,
<redacted>.web.services.PushService.class })
public
class
AppConfig
{
@Bean
public
AnnotationSessionFactoryBean
sessionFactory()
{
DataSource dataSource = (DataSource) dataSource().getObject();
AnnotationSessionFactoryBean bean = new AnnotationSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setPackagesToScan(new String[] {"<redacted>.model"});
// bean configuration here
return bean;
}
}
The testing class looks like
@RunWith(org.springframework.test.context.junit4.SpringJUnit4ClassRunner.class)
@WebAppConfiguration("file:target/build")
@ContextConfiguration(classes = {
<redacted>.AppConfig.class,
<redacted>.WebConfig.class })
public class TestController
{
// tests
}
When I run the test with mvn test
, I get this error:
Error creating bean with name 'sessionFactory' defined in <redacted>.AppConfig:
Invocation of init method failed; nested exception is org.hibernate.HibernateException:
Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
Note that I am not using spring-boot anywhere in my app.
Everything I’ve found online is not only really old, but seems to suggest it has to do with versions of various dependencies, but also it’s suggested that the named bean is missing its setter. But sessionFactory
is not a member variable, it’s a method that returns the factory.
When I wrote this, Hibernate 3 was the latest. I'm currently using hibernate-core 3.6.10.Final, Spring (core, orm, test, etc) 4.3.27.RELEASE.
What init method is it referring to? Any ideas what’s wrong? Thanks.
Update: It seems my sessionFactory()
method is being called and executing just fine (verified with logging), so I’m really not sure what the error message is telling me.
Maven test output and stack trace:
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running <redacted>.web.TestController
May 19, 2020 3:07:51 AM org.springframework.test.context.web.WebTestContextBootstrapper getDefaultTestExecutionListenerClassNames
INFO: Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener]
May 19, 2020 3:07:51 AM org.springframework.test.context.web.WebTestContextBootstrapper getTestExecutionListeners
INFO: Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@564718df, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@51b7e5df, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@18a70f16, org.springframework.test.context.support.DirtiesContextTestExecutionListener@62e136d3, org.springframework.test.context.transaction.TransactionalTestExecutionListener@c8e4bb0, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@6279cee3]
May 19, 2020 3:07:51 AM org.springframework.mock.jndi.SimpleNamingContextBuilder activate
INFO: Activating simple JNDI environment
May 19, 2020 3:07:51 AM org.springframework.mock.jndi.SimpleNamingContextBuilder bind
INFO: Static JNDI binding: [java:comp/env/jdbc/db] = [ds0: url=jdbc:h2:mem:testmdb;MODE=MySQL;DB_CLOSE_DELAY=-1;TRACE_LEVEL_SYSTEM_OUT=0;TRACE_LEVEL_FILE=0;IGNORECASE=false; user=testuser]
May 19, 2020 3:07:51 AM org.springframework.mock.jndi.SimpleNamingContextBuilder bind
INFO: Static JNDI binding: [java:comp/env/apns/prod/keystorePath] = [<unset>]
May 19, 2020 3:07:51 AM org.springframework.mock.jndi.SimpleNamingContextBuilder bind
INFO: Static JNDI binding: [java:comp/env/apns/prod/keystorePassword] = [<unset>]
May 19, 2020 3:07:51 AM org.springframework.mock.jndi.SimpleNamingContextBuilder bind
INFO: Static JNDI binding: [java:comp/env/apns/dev/keystorePath] = [<unset>]
May 19, 2020 3:07:51 AM org.springframework.mock.jndi.SimpleNamingContextBuilder bind
INFO: Static JNDI binding: [java:comp/env/apns/dev/keystorePassword] = [<unset>]
May 19, 2020 3:07:51 AM org.springframework.web.context.support.GenericWebApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.GenericWebApplicationContext@3f6db3fb: startup date [Tue May 19 03:07:51 PDT 2020]; root of context hierarchy
May 19, 2020 3:07:52 AM org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor <init>
INFO: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
03:07:52.141 [main] ERROR <redacted>.web.config.AppConfig - here
03:07:52.214 [main] ERROR <redacted>.web.config.AppConfig - foo
03:07:52.232 [main] ERROR <redacted>.web.config.AppConfig - dataSource: ds0: url=jdbc:h2:mem:testmdb;MODE=MySQL;DB_CLOSE_DELAY=-1;TRACE_LEVEL_SYSTEM_OUT=0;TRACE_LEVEL_FILE=0;IGNORECASE=false; user=testuser
03:07:52.235 [main] ERROR <redacted>.web.config.AppConfig - bean: org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean@1d12b024
03:07:52.236 [main] ERROR <redacted>.web.config.AppConfig - returning bean
[main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
[main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.10.Final
[main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
[main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
[main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.APNsToken
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.APNsToken on table APNsToken
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.DataRequest
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.DataRequest on table DataRequest
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.Device
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.Device on table Device
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.Image
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.Image on table Image
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.Mission
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.Mission on table Mission
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.MissionEvent
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.MissionEvent on table MissionEvent
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.NewsItem
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.NewsItem on table NewsItem
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.ObjectGroup
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.ObjectGroup on table SatelliteGroup
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.ProblemReport
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.ProblemReport on table ProblemReport
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.Satellite
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.Satellite on table Satellite
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.TLE
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.TLE on table TLE
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.Text
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.Text on table Text
[main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: <redacted>.model.User
[main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity <redacted>.model.User on table User
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.Device.mDataRequests -> DataRequest
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.Device.mTokens -> APNsToken
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.Mission.mEvents -> MissionEvent
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.Mission.mImages -> Image
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.ObjectGroup.mChildren -> SatelliteGroup
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.ObjectGroup.mObjects -> Satellite
[main] INFO org.hibernate.cfg.annotations.CollectionBinder - Mapping collection: <redacted>.model.Satellite.mTLEs -> TLE
[main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
May 19, 2020 3:07:52 AM org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean buildSessionFactory
INFO: Building new Hibernate SessionFactory
[main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
[main] INFO org.hibernate.connection.ConnectionProviderFactory - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
[main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
[main] INFO org.hibernate.cfg.SettingsFactory - Database ->
name : H2
version : 1.4.200 (2019-10-14)
major : 1
minor : 4
[main] INFO org.hibernate.cfg.SettingsFactory - Driver ->
name : H2 JDBC Driver
version : 1.4.200 (2019-10-14)
major : 1
minor : 4
[main] INFO org.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
[main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
[main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 200
[main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
[main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
[main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
[main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
[main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
[main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
[main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
[main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
[main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
[main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
[main] INFO org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge - Cache provider: org.hibernate.cache.NoCacheProvider
[main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Statistics: enabled
[main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
[main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
[main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
[main] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): disabled
[main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [blob] overrides previous : org.hibernate.type.BlobType@5de5e95
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Blob] overrides previous : org.hibernate.type.BlobType@5de5e95
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_materialized_blob] overrides previous : org.hibernate.type.WrappedMaterializedBlobType@365cdacf
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_clob] overrides previous : org.hibernate.type.MaterializedClobType@303c55fa
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_characters_clob] overrides previous : org.hibernate.type.CharacterArrayClobType@9efcd90
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@7eb200ce
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [characters_clob] overrides previous : org.hibernate.type.PrimitiveCharacterArrayClobType@2ee83775
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [clob] overrides previous : org.hibernate.type.ClobType@7c2924d7
[main] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Clob] overrides previous : org.hibernate.type.ClobType@7c2924d7
May 19, 2020 3:07:52 AM org.springframework.web.context.support.GenericWebApplicationContext refresh
WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataRequestDAOHibernate': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in <redacted>.web.config.AppConfig: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
May 19, 2020 3:07:52 AM org.springframework.test.context.TestContextManager prepareTestInstance
SEVERE: Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@564718df] to prepare test instance [<redacted>.web.TestController@39ee94de]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189)
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataRequestDAOHibernate': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in <redacted>.web.config.AppConfig: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:321)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1257)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:757)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:130)
at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:61)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:281)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:249)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)
... 28 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in <redacted>.web.config.AppConfig: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:211)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1135)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1063)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:518)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:496)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:627)
at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:171)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:318)
... 44 more
Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:108)
at org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:133)
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:80)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:322)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:485)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:133)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:286)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1872)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:795)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:717)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:191)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1677)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1615)
... 59 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:105)
... 72 more
Caused by: java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
at org.hibernate.bytecode.javassist.BytecodeProviderImpl.getProxyFactoryFactory(BytecodeProviderImpl.java:49)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactoryInternal(PojoEntityTuplizer.java:205)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:183)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:167)
at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:77)
... 78 more
Caused by: java.lang.ClassNotFoundException: javassist.util.proxy.MethodFilter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 83 more