【发布时间】:2012-03-18 02:33:45
【问题描述】:
我正在开发我在 Hibernate 中的第一个应用程序。我只有一个没有关联的实体用户
用户实体定义:
@Entity @Table(name="USERS") 公共类用户{
@Id @Column(name="USER_NAME") private String userName; @Column(name="PASSWORD") private String password; @Basic @Column(name="EMAIL") private String email;
并且用户表是通过以下方式创建的:
创建表用户(用户名 varchar(45) 主键,密码 varchar(45) NOT NULL,电子邮件 varchar(45) NOT NULL); (正如我所说,我保持简单:)
获取用户记录的方式如下:
用户 c = (User) sessionFactory.getCurrentSession().load(User.class, 用户名);
问题是我没有取回一个用户对象,而是一个带有新处理程序成员的 User_$$_javaassit 对象
handler = org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer 用户名=null 密码=null 电子邮件=null
我了解什么是延迟加载以及何时应该使用它,但这不是这些情况之一。 我宁愿不为整个系统“关闭”它,因为我稍后会使用它。
有什么我在这里缺少的建议吗?
【问题讨论】:
-
我也注意到了这一点,当调用 criteria.getList() 时,所有惰性字段都已加载,我不希望它们加载。你有没有得到任何地方?
标签: hibernate postgresql spring-mvc lazy-loading