我的应用程序模型集中有一个用户实体,定义如下:
public class User extends Model {
private String name;
private byte[] sk;
@Column(columnDefinition = "BINARY(272)")
private byte[] pk;
private int port;
@OneToOne
public Profile profile;
@ElementCollection
public List<String> friends;
@ElementCollection
public List<String> mirrors;
...
}
在我的应用程序(控制器类)的不同部分的方法中,我正在检索并尝试修改镜像列表,如下所示:
User u = User.connect(username);
int port = ProfileFinder.getLocation(username, mirror);
u.mirrors.remove(mirror);
u.save();
这引发了一个错误,指出:
LazyInitializationException occured : failed to lazily initialize a collection of role: models.User.mirrors, no session or session was closed
我怀疑这是因为我误解了@ElementCollection
标签的某些元素,但谁能澄清我该如何纠正这个问题?
谢谢。