相关疑难解决方法(0)

为什么Hibernate Open Session in View被认为是一种不好的做法?

您使用什么样的替代策略来避免LazyLoadExceptions?

我确实理解在视图中打开会话有以下问题:

  • 分层应用程序在不同的jvm中运行
  • 事务只在最后提交,很可能你以前想要结果.

但是,如果您知道您的应用程序在单个虚拟机上运行,​​为什么不通过在视图策略中使用开放会话来减轻您的痛苦?

java hibernate jpa lazy-loading open-session-in-view

104
推荐指数
5
解决办法
6万
查看次数

如何解决Spring Data JPA中的LazyInitializationException?

我必须拥有一对多关系的类.当我尝试访问延迟加载的集合时,我得到了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)

java spring hibernate

17
推荐指数
3
解决办法
2万
查看次数