我是用Spring Boot构建REST API 我尝试为每个实体制作映射器和DTO,但结果始终没有相同的例外。

问题描述 投票:0回答:1

// Category Mapper Service @Service public class CategoryMapperService { public CategoryResponseDto toDataTransferObject(Category category) { CategoryResponseDto categoryResponseDto = new CategoryResponseDto(); categoryResponseDto.setId(category.getId()); categoryResponseDto.setName(category.getName()); return categoryResponseDto; } }

@Data @Builder @AllArgsConstructor @NoArgsConstructor public class BookResponseDto { private Long id; private String cover; private String title; private String author; private String description; private String isbn; private int copies; private Set<CategoryResponseDto> categories; }

@Entity @NoArgsConstructor @Data @Table(name = "books") public class Book implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String cover; private String title; @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "book_category", joinColumns = @JoinColumn(name = "book_id"), inverseJoinColumns = @JoinColumn(name = "category_id")) @JsonManagedReference private Set<Category> categories = new HashSet<>(); @JsonIgnore @OneToMany(mappedBy = "book", cascade = CascadeType.ALL, orphanRemoval = true) private List<BorrowRecord> borrowRecords = new ArrayList<>(); private String author; private String description; private String isbn; private int copies; }

@Entity
@NoArgsConstructor
@Data
@Table(name = "categories")
public class Category implements Serializable  {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Column(unique = true)
    private String name;
    @ManyToMany(mappedBy = "categories")
    @JsonBackReference
    private Set<Book> books = new HashSet<>();
}
在这里是完整的异常代码
java.util.ConcurrentModificationException
   at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013 undefined)
   at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967 undefined)
   at java.base/java.util.AbstractCollection.addAll(AbstractCollection.java:335 undefined)
   at org.hibernate.collection.spi.PersistentSet.injectLoadedState(PersistentSet.java:311 undefined)
   at org.hibernate.sql.results.internal.LoadingCollectionEntryImpl.finishLoading(LoadingCollectionEntryImpl.java:78 undefined)
   at org.hibernate.sql.results.jdbc.internal.JdbcValuesSourceProcessingStateStandardImpl.finishLoadingCollections(JdbcValuesSourceProcessingStateStandardImpl.java:171 undefined)
   at org.hibernate.sql.results.jdbc.internal.JdbcValuesSourceProcessingStateStandardImpl.finishUp(JdbcValuesSourceProcessingStateStandardImpl.java:142 undefined)
   at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:205 undefined)
   at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:35 undefined)
   at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:224 undefined)
   at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:102 undefined)
   at org.hibernate.sql.exec.spi.JdbcSelectExecutor.executeQuery(JdbcSelectExecutor.java:91 undefined)
   at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:165 undefined)
   at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:142 undefined)
   at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:132 undefined)
   at org.hibernateer.ast.internal.CollectionLoaderSingleKey.load.load(CollectionLoaderSingleKey.java:120 undefined)
   at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:748 undefined)
   at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:69 undefined)
   at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127 undefined)
   at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:1724 undefined)
   at org.hibernate.collection.spi.AbstractPersistentCollection.lambda$initialize$3(AbstractPersistentCollection.java:616 undefined)
   at org.hibernate.collection.spi.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:265 undefined)
   at org.hibernate.collection.spi.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:614 undefined)
   at org.hibernate.collection.spi.AbstractPersistentCollection.read(AbstractPersistentCollection.java:138 undefined)
   at org.hibernate.collection.spi.PersistentSet.iterator(PersistentSet.java:166 undefined)
   at java.base/java.util.Spliterators$IteratorSpliterator.estimateSize(Spliterators.java:1865 undefined)
   at java.base/java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:414 undefined)
   at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:508 undefined)
   at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499 undefined)
   at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921 undefined)
   at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234 undefined)
   at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682 undefined)
   at dev.library.backend.dto.mappers.BookMapperService.toDataTransferObject(BookMapperService.java:37 undefined)
   at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197 undefined)
   at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625 undefined)
   at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509 undefined)
   at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499 undefined)
   at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575 undefined)
   at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260 undefined)
   at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616 undefined)
   at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622 undefined)
   at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627 undefined)
   at dev.library.backend.controllers.BookController.getBooks(BookController.java:36 undefined)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77 undefined)
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43 undefined)
   at java.base/java.lang.reflect.Method.invoke(Method.java:568 undefined)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359 undefined)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196 undefined)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163 undefined)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380 undefined)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119 undefined)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184 undefined)
   at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727 undefined)
   at dev.library.backend.controllers.BookController$SpringCGLIB$0.getBooks(<generated> undefined)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77 undefined)
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43 undefined)
   at java.base/java.lang.reflect.Method.invoke(Method.java:568 undefined)
   at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257 undefined)
   at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190 undefined)
   at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118 undefined)
   at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986 undefined)
   at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891 undefined)
   at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87 undefined)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088 undefined)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978 undefined)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014 undefined)
   at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903 undefined)
   at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564 undefined)
   at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885 undefined)
   at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108 undefined)
   at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128 undefined)
   at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126 undefined)
   at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131 undefined)
   at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at dev.library.backend.config.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:40 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107 undefined)
   at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90 undefined)
   at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82 undefined)
   at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224 undefined)
   at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137 undefined)
   at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233 undefined)
   at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191 undefined)
   at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113 undefined)
   at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243 undefined)
   at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113 undefined)
   at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74 undefined)
   at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238 undefined)
   at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362 undefined)
   at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201 undefined)
   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140 undefined)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167 undefined)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90 undefined)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483 undefined)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115 undefined)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93 undefined)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74 undefined)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344 undefined)
   at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397 undefined)
   at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63 undefined)
   at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905 undefined)
   at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741 undefined)
   at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52 undefined)
   at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190 undefined)
   at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659 undefined)
   at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63 undefined)
   at java.base/java.lang.Thread.run(Thread.java:842 undefined)
这个问题一直在阻止我的工作,因此最不感激任何帮助。
    
由于您的
书籍实体的类别的懒惰加载而发生。您可以通过几种方式进行修复。使其渴望是最简单的解决方案。但是,您可以编写存储库方法,以示意以下类别:

ConcurrentModificationException

现在,您可以使用
@Repository interface BookRepository extends JpaRepository<Book, Long> { @Query("Select b from Book b join fetch b.categories") List<Book> findAllWithCategories(); }

而不是从存储库中使用

findAllWithCategories
java spring spring-boot hibernate spring-mvc
1个回答
0
投票
,您可以使用本机进行循环,而不是以下循环。但是它有

n+1

查询问题
findAll


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.