Работа с Spring MVC, Hibernate и JPA. Я попытался загрузить некоторую коллекцию из контроллера и запустил исключение LazyLoading. Так что я хотел переключиться на загрузку Эгара.Hibernate/JPA невозможно сделать с нетерпением загрузка
У меня есть два класса (Flightroute и Measurstations которым в многие ко многим Realtion)
@Entity
@Table(name = "flightroutes")
public class Flightroute extends DomainObject<Integer> {
@ManyToMany(fetch=FetchType.EAGER)
private List<MeasureStation> measureStation;
@Entity
@Table(name = "measurestations")
public class MeasureStation extends DomainObject<Long> {
@ManyToMany(mappedBy = "measureStation")
private List<Flightroute> flightroutes;
Но это, кажется, не работает, при запуске приложения я запускаю в следующее исключение
май 03, 2013 5:58:08 вечера org.apache.catalina.core.StandardContext listenerStart SEVERE: Exc инициализация отправки контекста инициализируется для экземпляра слушателя класса org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем «entityManagerFactory», определенным в ресурсе ServletContext [/ WEB-INF/applicationContext. xml]: вызов метода init не выполнен; вложенное исключение javax.persistence.PersistenceException: [PersistenceUnit: атм] Не удалось построить EntityManagerFactory на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1488) в org.springframework.beans.factory. support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:524) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:461) в org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:295) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.facto ry.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:292) на org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:194) на org.springframework.context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java:1117) на org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:922) в org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:479) в орг. springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:294) at org.springframework.w eb.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4791) at org.apache.catalina.core.StandardContext.startInternal (StandardContext. java: 5285) at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1559) at org. apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1549) at java.util.concurrent.FutureTask $ Sync.innerRun (Неизвестный источник) at java.util.concurrent.FutureTask.run (Неизвестный источник) на java.util.concurrent.ThreadPoolExecutor.runWorker (Неизвестный источник) на java.util.concurren t.ThreadPoolExecutor $ Worker.run (Неизвестный источник) at java.lang.Thread.run (Неизвестный источник) Вызвано: javax.persistence.PersistenceException: [PersistenceUnit: атм] Не удалось построить EntityManagerFactory на org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:930) на org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:904) в орг .hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory (HibernatePersistence.java:92) на org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory (LocalContainerEntityManagerFactoryBean.java:288) в org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet (AbstractEntityManagerFactoryBean .java: 310) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1547) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1485) ... 22 более Вызванный: org.hibernate.loader.MultipleBagFetchException: не могут одновременно получать несколько мешков на org.hibernate .loader.BasicLoader.postInstantiate (BasicLoader.java:93) на org.hibernate.loader.entity.EntityLoader. (EntityLoader.java:118) на org.hibernate.loader.entity.EntityLoader. (EntityLoader.java:70) на org.hibernate.loader.entity.EntityLoader. (EntityLoader.java:53) в org.hibernate.loader.entity.BatchingEntityLoaderBuilder.buildLoader (BatchingEntityLoaderBuilder.java:75) на org.hibernate.persister.entity. AbstractEntityPersister.createEntityL oader (AbstractEntityPersister.java:2483) на org.hibernate.persister.entity.AbstractEntityPersister.createEntityLoader (AbstractEntityPersister.java:2496) на org.hibernate.persister.entity.AbstractEntityPersister.createLoaders (AbstractEntityPersister.java:3832) на org.hibernate.persister.entity.AbstractEntityPersister.postInstantiate (AbstractEntityPersister.java:3818) на org.hibernate.persister.entity.SingleTableEntityPersister.postInstantiate (SingleTableEntityPersister.java:1018) на org.hibernate.internal.SessionFactoryImpl. (SessionFactoryImpl .java: 461) at org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1750) at org.hibernate.ejb.EntityManagerFactoryImpl. (EntityManagerFactoryImpl.java:94) at org.hibernate .ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:920) ... 28 более
Я не понимаю, может кто-нибудь Хель меня, и/или объяснить, почему это случилось?
Благодарим вас за это понимание! Похоже, что эта ошибка может возникать и при использовании только одного списка. Это легко решить, используя '@IndexColumn (name =" INDEX_COL ")', как это было предложено в статье, к которой вы привязались. – Michael