gpt4 book ai didi

jpa - 非法访问加载集合(hibernate.LazyInitializationException)

转载 作者:行者123 更新时间:2023-12-04 12:59:50 27 4
gpt4 key购买 nike

我正在将 JPA 与 Hibernate 持久性提供程序一起使用。

我有一对多的映射,我用过

@OneToMany(mappedBy = "mSearchPreference", cascade = CascadeType.ALL, fetch=FetchType.EAGER)

我可以在控制台上看到一对多的 SQL 语句,尽管我遇到了异常
illegal access to loading collection  (hibernate.LazyInitializationException)
org.hibernate.LazyInitializationException: illegal access to loading collection
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:341)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.AbstractPersistentCollection.readElementExistence(AbstractPersistentCollection.java:142)
at org.hibernate.collection.PersistentSet.add(PersistentSet.java:187)

有人可以帮我解决我需要做的其他安排吗?

最佳答案

这通常意味着尝试访问新实体时 Hibernate session 已经关闭。解决此问题的两个选项是:

  • 查看所有模型图并在需要时设置适当的 EAGER 提取类型。
  • 设置扩展持久化内容:@PersistenceContext(type = PersistenceContextType.EXTENDED)
  • 关于jpa - 非法访问加载集合(hibernate.LazyInitializationException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327669/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com