Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取JPA实体的所有实例时如何加载关联对象_Java_Spring_Postgresql_Hibernate - Fatal编程技术网

Java 获取JPA实体的所有实例时如何加载关联对象

Java 获取JPA实体的所有实例时如何加载关联对象,java,spring,postgresql,hibernate,Java,Spring,Postgresql,Hibernate,给定以下代码: 用户实体 数据存取码 public List selectAll(){ return(List)entityManager.createQuery(“从用户中选择用户”).getResultList(); } 当我调用如上所示的selectAll方法时,我希望返回的列表中的用户对象也包含所有相关的不动产对象。但是,我发现每个用户中的不动产列表是空的 我正在使用JPA2.1、Spring4、Hibernate和Postgres。这里有很多问题,其中最重要的问题是使用原始类型。我

给定以下代码:

用户实体

数据存取码

public List selectAll(){
return(List)entityManager.createQuery(“从用户中选择用户”).getResultList();
} 
当我调用如上所示的
selectAll
方法时,我希望返回的
列表中的
用户
对象也包含所有相关的
不动产
对象。但是,我发现每个
用户
中的
不动产
列表是空的


我正在使用JPA2.1、Spring4、Hibernate和Postgres。

这里有很多问题,其中最重要的问题是使用原始类型。我的总体建议是:使用SpringDataJPA,让它为您构建查询。如果您正在询问其他问题,请格式化您的代码并更详细地解释问题;在不可移动中:@ManyToOne()@JoinColumn(name=“user\u id”)私有用户所有者;我的方法返回用户!和不动产清单!但是不动产清单是空的!!!为什么?感谢您的支持,因为您使用的是FetchType Earge和@OneToMany/@Manytone注释,所以子字段应该在那里。您的代码看起来正常,问题必须在其他地方。确保数据库中确实有与该用户关联的行,或者表正确地与其各自的FK关联…感谢社区@Jalex问题解决了吗?这里有这么多问题,尤其是原始类型的使用。我的总体建议是:使用SpringDataJPA,让它为您构建查询。如果您正在询问其他问题,请格式化您的代码并更详细地解释问题;在不可移动中:@ManyToOne()@JoinColumn(name=“user\u id”)私有用户所有者;我的方法返回用户!和不动产清单!但是不动产清单是空的!!!为什么?感谢您的支持,因为您使用的是FetchType Earge和@OneToMany/@Manytone注释,所以子字段应该在那里。您的代码看起来正常,问题必须在其他地方。确保数据库中确实有与该用户关联的行,或者表正确地与其各自的FK关联…感谢社区@Jalex的问题解决了吗?
@Entity
class User {
  ...
  @OneToMany (mappedBy = "owner", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
  private List<Immovables> immovables;
  ...
}
@Entity
class Immovables {
  ...
  @ManyToOne
  @JoinColumn (name = "user_id")
  private User owner;
  ...
}
public List<User> selectAll() {
    return (List<User>) entityManager.createQuery("SELECT user FROM User user").getResultList();
}