java - Hibernate 为实体实例变量获取 null?

标签 java hibernate

我正在尝试实现一个功能,需要表单为登录用户加载数据。因此我编写了一个查询来获取该用户 ID 的这些数据,以下是学校实体类的代码片段:

public class ShSchool implements java.io.Serializable {
     private long schoolId;
     private GsDistrict gsDistrict;
}

我尝试使用以下查询获取数据:

session.createQuery("from ShSchool where schoolId="+schoolId).list();

问题是我获取了原始实例变量的值,而对于任何其他数据类型(例如 GsDistrict)却获取了 null,那么出了什么问题以及如何获取这些对象值?

谢谢

最佳答案

可能的原因:

  • 对于该特定用户,gsDistrict 确实为空,请检查数据库以确保其不为空。
  • Hibernate 映射不正确。
  • gsDistrict 是延迟加载的,您在 Hibernate session 之外访问它。然而,在这种情况下,我预计会抛出异常。

请包含 Hibernate 映射,问题可能就在那里。

关于java - Hibernate 为实体实例变量获取 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4357801/

相关文章:

java - 根据消息内容从 Dataflow 作业写入动态 PubSub 主题

Java Inetaddress、Swing 扩展并抛出异常

java - JpaRepository中通过自定义SQL排序方法排序

java - 基于应用了 MAX(date) 的多对一关系的 Hibernate 一对一映射

java - Hibernate 锁定项目的数组列表

java - hibernate中的注解是什么?

java - 如何检测 Sonar 规则中的类成员(字段)访问

java - 如何避免观察者模式的循环引用?

java - hibernate 生成的表,但不显示在 mysql 数据库中

java - 使用instanceof运算符进行反序列化