It looks like removing an element from a persistent list causes problems due to lazy loading in its equals() method:
{noformat}java.lang.NullPointerException: Cannot invoke "org.hibernate.sql.results.graph.entity.EntityInitializer.getNavigablePath()" because "firstEntityInitializer" is null at org.hibernate.sql.results.graph.entity.internal.BatchEntityInsideEmbeddableSelectFetchInitializer.getRootEmbeddablePropertyName(BatchEntityInsideEmbeddableSelectFetchInitializer.java:191) at org.hibernate.sql.results.graph.entity.internal.BatchEntityInsideEmbeddableSelectFetchInitializer.<init>(BatchEntityInsideEmbeddableSelectFetchInitializer.java:56) at org.hibernate.sql.results.graph.entity.internal.EntitySelectFetchInitializerBuilder.createInitializer(EntitySelectFetchInitializerBuilder.java:58) at org.hibernate.sql.results.graph.entity.internal.EntityFetchSelectImpl.lambda$createAssembler$0(EntityFetchSelectImpl.java:60) at org.hibernate.sql.results.internal.ResultsHelper$1.resolveInitializer(ResultsHelper.java:108) at org.hibernate.sql.results.graph.entity.internal.EntityFetchSelectImpl.createAssembler(EntityFetchSelectImpl.java:56) at org.hibernate.sql.results.graph.embeddable.AbstractEmbeddableInitializer.initializeAssemblers(AbstractEmbeddableInitializer.java:119) at org.hibernate.sql.results.graph.embeddable.AbstractEmbeddableInitializer.<init>(AbstractEmbeddableInitializer.java:105) at org.hibernate.sql.results.graph.embeddable.internal.EmbeddableFetchInitializer.<init>(EmbeddableFetchInitializer.java:23) at org.hibernate.sql.results.graph.embeddable.internal.EmbeddableFetchImpl.lambda$createAssembler$1(EmbeddableFetchImpl.java:135) at org.hibernate.sql.results.internal.ResultsHelper$1.resolveInitializer(ResultsHelper.java:108) at org.hibernate.sql.results.graph.embeddable.internal.EmbeddableFetchImpl.createAssembler(EmbeddableFetchImpl.java:132) at org.hibernate.sql.results.graph.collection.internal.ListInitializerProducer.produceInitializer(ListInitializerProducer.java:54) at org.hibernate.sql.results.graph.collection.internal.CollectionDomainResult.lambda$createResultAssembler$0(CollectionDomainResult.java:100) at org.hibernate.sql.results.internal.ResultsHelper$1.resolveInitializer(ResultsHelper.java:108) at org.hibernate.sql.results.graph.collection.internal.CollectionDomainResult.createResultAssembler(CollectionDomainResult.java:94) at org.hibernate.sql.results.jdbc.internal.StandardJdbcValuesMapping.resolveAssemblers(StandardJdbcValuesMapping.java:53) at org.hibernate.sql.results.internal.ResultsHelper.createRowReader(ResultsHelper.java:78) at org.hibernate.sql.results.internal.ResultsHelper.createRowReader(ResultsHelper.java:64) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:341) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:168) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:93) at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31) at org.hibernate.loader.ast.internal.SingleIdLoadPlan.load(SingleIdLoadPlan.java:145) at org.hibernate.loader.ast.internal.SingleIdLoadPlan.load(SingleIdLoadPlan.java:104) at org.hibernate.loader.ast.internal.CollectionLoaderBatchKey.load(CollectionLoaderBatchKey.java:116) at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:716) at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:75) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127) at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:1697) at org.hibernate.collection.spi.AbstractPersistentCollection.lambda$initialize$3(AbstractPersistentCollection.java:617) at org.hibernate.collection.spi.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:265) at org.hibernate.collection.spi.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:615) at org.hibernate.collection.spi.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:813) at org.hibernate.engine.internal.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:985) at org.hibernate.engine.internal.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:971) at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:227) at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:362) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:168) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:93) at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31) at org.hibernate.loader.ast.internal.SingleIdLoadPlan.load(SingleIdLoadPlan.java:145) at org.hibernate.loader.ast.internal.SingleIdEntityLoaderStandardImpl.load(SingleIdEntityLoaderStandardImpl.java:88) at org.hibernate.loader.ast.internal.SingleIdEntityLoaderDynamicBatch.load(SingleIdEntityLoaderDynamicBatch.java:76) at org.hibernate.loader.ast.internal.SingleIdEntityLoaderDynamicBatch.load(SingleIdEntityLoaderDynamicBatch.java:58) at org.hibernate.persister.entity.AbstractEntityPersister.doLoad(AbstractEntityPersister.java:3519) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3509) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:602) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromCacheOrDatasource(DefaultLoadEventListener.java:588) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:557) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:550) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:202) at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:101) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:78) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:138) at org.hibernate.internal.SessionImpl.fireLoadNoChecks(SessionImpl.java:1231) at org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:1043) at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:173) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:310) at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:44) at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:102) at com.adsoul.seasupport.keyword.text.ResponsiveTextTemplate$HibernateProxy$G9S96J9K.equals(Unknown Source) at com.adsoul.seasupport.keyword.accounting.LocalResponsiveText.isFromSameTemplate(LocalResponsiveText.java:323) at com.adsoul.seasupport.keyword.accounting.LocalResponsiveText.equals(LocalResponsiveText.java:315) at java.base/java.util.ArrayList.remove(ArrayList.java:624) at org.hibernate.collection.spi.PersistentList.remove(PersistentList.java:204) at com.adsoul.seasupport.keyword.accounting.LocalGroup.removeResponsiveText(LocalGroup.java:413) at com.adsoul.seasupport.keyword.accounting.LocalResponsiveText.remove(LocalResponsiveText.java:308) at java.base/java.util.stream.ReferencePipeline$15$1.accept(ReferencePipeline.java:540) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at com.adsoul.seasupport.keyword.accounting.LocalAccountManagerImplIT.lambda$cleanUpDatabase$2(LocalAccountManagerImplIT.java:254) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) at com.adsoul.seasupport.keyword.accounting.LocalAccountManagerImplIT.cleanUpDatabase(LocalAccountManagerImplIT.java:245) at com.adsoul.seasupport.keyword.accounting.LocalAccountManagerImplIT.setUp(LocalAccountManagerImplIT.java:200) {noformat} |
|