java - Spring Data JPA/Hibernate LazyInitializationException
问题描述
我是休眠/弹簧数据 JPA 的新手,在处理外键时遇到了一些问题。我有两张桌子:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String email;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private String role;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "job_id", referencedColumnName = "id")
private Job job;
}
@Entity
public class Job{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
@OneToMany(
mappedBy = "job",
cascade = CascadeType.PERSIST,
fetch = FetchType.EAGER
)
private Set<User> users = new HashSet<>();
}
我正在尝试在用户表中保存一份作业(job.Id)。但是,如果我尝试执行 get(repository.getOne(id)) (通过...extends JPARepository<User,Long>
我收到以下错误:
org.hibernate.LazyInitializationException: could not initialize proxy [backend.entity.User#193] - no Session
有人有提示如何解决它吗?我在 stackoverflow 上阅读了很多内容,但不知道如何解决解决这个问题。
解决方案
推荐阅读
- python-3.x - 哪个是字节编码字典的正确类型提示?
- amazon-web-services - AWS CDK 应用程序的可重构性如何?
- python - 如何正确编写函数?(Python)
- excel - VB excel reloadas导致对象与其客户端断开连接
- amazon-web-services - AWS Elemental Live - 我在哪里可以找到 Live IP?
- google-bigquery - Terraform 授予对 GCP Bigquery 的访问权限
- amazon-web-services - Ansible playbook 仅在 eu-east-1 地区有效
- amazon-web-services - 如何获取访问 S3 存储桶中对象的用户列表?
- javascript - react-id-swiper 导航箭头按钮和分页不起作用
- amazon-web-services - 即使 IAM 角色添加了 GetJob 访问权限,胶水作业仍会引发 AccessDeniedException