0

我有一个简单的休眠实体。

但是每次当我得到一个以前用值设置的特定值时,它都会返回 null。

当我进入代码时.. 看看 GETVALUE 做了什么.. 最可怕的是..

它将进入另一个 METHOD(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;
    }

}
4

1 回答 1

2

没有幽灵般的 pojo。Hibernate 在后台使用代理对象,该对象将连接到您的数据库,以便对该对象进行延迟字段初始化。

如果要禁用此功能,只需将加载此对象的 HBM 配置从lazy="true"更改为lazy="false"。请注意,通过这样做,Hibernate 将在第一级缓存中加载所有数据和关联,从而影响您的应用程序内存。

更多信息:

于 2013-09-20T17:41:57.210 回答