欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role

程序员文章站 2022-03-02 13:25:24
...

问题:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: XXXXXX , could not initialize proxy - no Session

解决前:

@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "roleResource", 
		joinColumns = {@JoinColumn(name = "role_id")},
		inverseJoinColumns = {@JoinColumn(name = "resources_id")})
	public Set<Resource> getResources() {
		return resources;
	}

解决后:

@ManyToMany(fetch = FetchType.EAGER)
	@JoinTable(name = "roleResource", 
		joinColumns = {@JoinColumn(name = "role_id")},
		inverseJoinColumns = {@JoinColumn(name = "resources_id")})
	public Set<Resource> getResources() {
		return resources;
	}

@ManyToMany(fetch = FetchType.LAZY)    懒加载

@ManyToMany(fetch = FetchType.EAGER)   立即加载

将原本的懒加载修改为立即加载即可解决错误