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();
}