- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 java 项目中使用 Hibernate。我有以下实体结构:
@Entity
@Table(name = "car")
public class Car implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "engine_id", nullable = false)
private Engine engine;
}
现在,当我从 db 加载 Car
实体时,显然 Engine
实体不会被加载,因为它是延迟加载的字段,但是 id(主键) Engine
将被加载。
现在,如果我执行 car.getEngine().getId(),则会抛出 LazyInitialization 异常。由于 Id 部分已经加载,那么为什么 getId() 会抛出异常?
最佳答案
when I load
Car
entity from db
您确定这个对象已完全加载吗?
如果它是延迟加载的,Engine
id 以及其他属性尚未加载,因此会出现异常。我建议您在每个级别使用 Hibernate.initialize(obj)
来查看失败的确切位置。
关于java - 访问延迟加载字段的 id 时出现 LazyInitialization Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15678583/
我有 3 个名为Discipline、DisciplineMembership、DisciplineManagement 的实体: 一个学科有多个学科成员 一个学科有多个学科管理 Discipline
我在EJB2.0层上使用事务,并从那里调用DAO层,其中对db进行hibernate调用。 我现在遇到的问题是,hibernate 正在对数据库进行多次调用,因为我设置了 lazy="false",现
我在一个简单的网络应用程序上使用 wicket 和 hibernate (jpa)。 Task.java与Load.java的关系如下: 任务.java: @ManyToOne( targetEnti
我在我的 java 项目中使用 Hibernate。我有以下实体结构: @Entity @Table(name = "car") public class Car implements Seriali
我正在查看 Reflector 中的 LazyInitializer.EnsureInitialized(ref T, Func{T}),该方法中似乎有一个 volatile 局部变量 volatil
我认为我缺少一些有关 Hibernate 工作原理的基本知识,特别是延迟加载。我的问题是调试,因为我不确定这是 Hibernate 问题还是变相的 Spring 问题。我想在进行一些重大重构之前我应该
LazyInitializer 之间有什么区别?和 Lazy类?我知道他们都只会按需初始化对象。我什么时候需要使用它们中的每一个? 最佳答案 我不确定你是否还在研究这个,但我不得不深入研究这两个 La
我使用 Hibernate 5.2.11 作为 JPA 提供程序。我有一个带注释的类 (PurchaseOrder) 和另一个带注释的类 (Customer) 作为具有多对一关系的字段。但因为遗留代码
我正在尝试实现一个 Hibernate session /事务拦截器,以避免在 Struts2 中对 json 结果产生 LazyInitializationException,但无论如何我都会遇到此
我的应用程序使用 Struts2(mvc)、Spring(依赖注入(inject))、带有 Hibernate 的 JPA、JUnit 以及 struts2-junit 插件和 struts2 spr
我是一名优秀的程序员,十分优秀!