当前位置: 首页 > 知识库问答 >
问题:

使用@heritation时出现LazyInitializationException异常

闾丘玺
2023-03-14

我试图使用继承使用这个项目https://github.com/Baeldung/spring-security-registration

这是我的用户

@Data
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING, name = "TYPE")
public abstract class User {
     @ManyToMany(fetch = FetchType.EAGER)
     @JoinTable(name = "users_roles",joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
     private Collection<Role> roles;
}

还有一些子类,比如UserAdmin

@Entity
@DiscriminatorValue("ADMIN")
public class UserAdmin extends User {}

那么我的角色课是这样的

@Data
@Entity
public class Role {
     @ManyToMany(mappedBy = "roles")
     private Collection<User> users;
}

但我在注册用户时遇到了这个错误

o、 h.LazyInitializationException:未能延迟初始化角色com的集合。贝尔东。坚持不懈模型角色用户,无法初始化代理-无会话

需要帮助的家伙:)提前谢谢

共有1个答案

姬朗
2023-03-14

我们需要更多的上下文,但您通常有两种选择:

  1. 使用@Transactional注释调用“getRoles()”的方法

 类似资料:
  • 问题内容: 我的应用程序模型集中有一个User实体,其定义如下: 并且在我应用程序不同部分(控制器类)中的方法中,我正在检索并尝试按以下方式修改镜像列表: 这引发了一个错误,指出: 我怀疑这是由于我误解了标签的某些元素,但是没有人能阐明我该如何纠正它? 谢谢。 问题答案: 默认情况下,关联和元素集合是延迟加载的。 这意味着仅当需要调用一种收集方法时,才从数据库中加载收集元素。但是,当然,实体需要附

  • 2.)AVD没有互联网问题(原因稍后解释)。 3.)与我的volley singleton类或请求队列无关(原因稍后解释)。 所以我想我在Volley/Request Future的用法上犯了某种错误。

  • 我为基本上是Bèzier路径的创建了一些。为此,我转换了类型为和的路径元素,为此我还有转换器: 我有一个测试代码: 混搭路径时创建的文件如下所示,这是我基本上想要的: 但是,在解组XML时,我遇到了这个异常: PathConverter中的第52行指向该行(在for循环中的第一次调用): 我的猜测是,这个问题与方法上的和方法有关,这样读者仍然处于它期望的结束节点的状态。对于其他两个转换器,我也有测

  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 问题内容: 我试图延迟-或使我的Java程序进入睡眠状态,但是发生错误。 我无法使用或。出现相同的错误消息: 未报告的异常java.lang.InterruptedException; 必须被抓住或宣布被抛出。 使用 or 方法之前,是否需要任何步骤? 问题答案: 你前面有很多阅读材料。从编译器错误到异常处理,线程和线程中断。但这将满足你的要求:

  • 我试图使用JDK1.6创建一个spring boot应用程序,当我添加“spring-boot-starter-jdbc”依赖项时,我得到了以下异常。我知道这个异常与编译器版本的差异有关,但不知道如何解决这个问题。如果我移除“spring-boot-starter-jdbc”依赖项,一切都很好。解决此问题的任何帮助以及如何进一步排除故障都将有所帮助。 POM依赖项: 例外情况: