【发布时间】:2018-01-14 19:06:45
【问题描述】:
我实现了一个简单的 SpringMVC 应用程序。作为模型,我有Person 和Event 都映射到H2 database。
现在我可以存储一个Person 对象和一个Event 对象。但是当我试图将Person 的列表存储到我的Event 对象时,我总是会遇到异常:
延迟初始化集合失败,无法初始化代理 - 没有会话
到目前为止我的方法:
@Entity
public class Event implements Persistable<Long> {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String eventName;
@OneToMany(fetch = FetchType.EAGER)
@ElementCollection(targetClass = Member.class)
private List<Person> members = new ArrayList<>();
}
@Entity
public class Person implements Persistable<Long>{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String firstname;
private String lastname;
}
目标是选择具有素面SelectManyMenu 的Person 对象并将它们存储到事件的List<Person> members。当我通过SQL 将一些Person 对象添加到Event 时,SelectManyMenu 会正确地预先选择添加的Person 对象。但是当我选择一个额外的Person 对象并调用save 时,就会出现异常。
首先我认为我的save-方法不起作用。但它必须正常工作,因为我能够分别保存Person 对象和Event 对象(之间没有Relationship)。
【问题讨论】:
标签: java hibernate spring-mvc jpa primefaces