您使用什么样的替代策略来避免LazyLoadExceptions?
我确实理解在视图中打开会话有以下问题:
但是,如果您知道您的应用程序在单个虚拟机上运行,为什么不通过在视图策略中使用开放会话来减轻您的痛苦?
我必须拥有一对多关系的类.当我尝试访问延迟加载的集合时,我得到了LazyInitializationException.我现在在网上搜索了一段时间,现在我知道我得到了异常,因为用于加载保存集合的类的会话已关闭.但是我没有找到解决方案(或者至少我不理解它们).基本上我有这些课程:
用户
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue
@Column(name = "id")
private long id;
@OneToMany(mappedBy = "creator")
private Set<Job> createdJobs = new HashSet<>();
public long getId() {
return id;
}
public void setId(final long id) {
this.id = id;
}
public Set<Job> getCreatedJobs() {
return createdJobs;
}
public void setCreatedJobs(final Set<Job> createdJobs) {
this.createdJobs = createdJobs;
}
}
Run Code Online (Sandbox Code Playgroud)
UserRepository
public interface UserRepository extends JpaRepository<User, Long> {}
Run Code Online (Sandbox Code Playgroud)
UserService
@Service
@Transactional
public class UserService {
@Autowired …Run Code Online (Sandbox Code Playgroud)