2

使用 Spring MVC、Hibernate 和 JPA。我试图从 Controller 加载一些 Collection 并遇到了 LazyLoading 异常。所以我想切换到 Egar 加载。

我有两个课程(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;

但这似乎不起作用,当应用程序启动时我遇到以下异常

Mai 03, 2013 5:58:08 PM org.apache.catalina.core.StandardContext listenerStart 严重:向 org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException 类的侦听器实例发送上下文初始化事件的异常:在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中创建名称为“entityManagerFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 javax.persistence.PersistenceException: [PersistenceUnit: atm] Unable to build EntityManagerFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488) at org.springframework.beans.factory.support。 AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:

我不明白,谁能帮助我,和/或解释为什么会这样?

4

1 回答 1

2

发现:

 @ManyToMany(fetch=FetchType.EAGER)
    private List<MeasureStation> measureStation;

hibernate 想要保持列表中元素的顺序,(使用连接等)如果有两个列表,hibernate 不能保持顺序。

看看_

于 2013-05-03T16:14:31.017 回答