我有一个简单的 hibernate 实体。
但是每次当我获得之前用 value 设置的特定值时..它将返回 null。
当我设置代码时..看看 GETVALUE 做了什么..最可怕的是..
它将进入另一个方法(GET)!该死的,当我写这篇文章时,我的头发都竖起来了..
有人对此有任何简单的解释吗?
下面只是一个简单的例子..例如当它 getName().. 它将进入 getAge() .. 完全令人震惊
public class SimplePojo {
@Id
@Column(name = "NAME", length = 10, nullable = false)
private String name;
@Column(name = "AGE", length = 10, nullable = false)
private String age;
@Column(name = "GENDER", length = 10, nullable = false)
private String gender;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
请您参考如下方法:
没有幽灵般的pojo。 Hibernate 在幕后使用代理对象,该对象将连接到数据库以实现该对象的延迟字段初始化。
如果您想禁用此功能,只需将加载该对象的 HBM 配置从 lazy="true"
更改为 lazy="false"
即可。请注意,通过这样做,Hibernate 将加载第一级缓存中的所有数据和关联,从而占用您的应用程序内存。
更多信息: