JPA 存储库选择没有关系实体

Tom*_*nda 3 java spring hibernate jpa jpql

我有两个有关系的实体(休眠)。当我通过 JPA Repository 获取实体时,hibernate 会对两个实体进行“选择”。我如何通过一个选择来获取实体(此时我不需要第二个实体)。

抱歉我的英语和技术语言 - 我是初学者。

编辑

用户:

@Entity
public class User {

@Id
@GeneratedValue
private int id;

private String name;

@OneToMany(mappedBy = "user", fetch = FetchType.EAGER)
private List<Medicament> medicaments;

//and others and getters and setters
}
Run Code Online (Sandbox Code Playgroud)

药剂:

@Entity
public class Medicament {

@Id
@GeneratedValue
private int id;

private String name;

@ManyToOne
@JoinColumn(name = "user_id")
private User user;

//and others and getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我从自动装配接口 UserRepository 调用方法:

public interface UserRepository extends JpaRepository<User, Integer>{

@Query("select u from User u where name = :name")
User findByNameQuery(@Param("name") String name);

User findByName(String name);
}
Run Code Online (Sandbox Code Playgroud)

两种方法findByNameQueryfindByName可以进行多重选择

Tom*_*lik 6

改变

@OneToMany(mappedBy = "user", fetch = FetchType.EAGER)
private List<Medicament> medicaments;
Run Code Online (Sandbox Code Playgroud)

@OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
private List<Medicament> medicaments;
Run Code Online (Sandbox Code Playgroud)

或者根本不指定 FetchType。@OneToMany和 的默认值@ManyToManyLAZYEAGER@OneToOne