IT干货网

java之GhoSTLy Pojo 方法

lonelyxmas 2024年02月06日 编程设计 10 0

我有一个简单的 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 将加载第一级缓存中的所有数据和关联,从而占用您的应用程序内存。

更多信息:


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!