【发布时间】:2017-07-07 18:30:01
【问题描述】:
我正在使用 Spring Data JpaRepository 来查找与特定字段匹配的实体列表。考虑以下代码 sn-p:
实体:
@Entity
@Table(name = "master")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Master implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
@Column(name = "id", nullable = false)
private Long Id;
@NotNull
@Column(name = "user_id", nullable = false)
private String userId;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name="id", referencedColumnName="id", insertable=false, updatable=false)
private Details Details;
Spring Data 自定义 JpaRepository:
public interface MasterRepository extends JpaRepository<Master,Long> {
List<Master> findMasterByUserId(String userId);
}
当我使用 findBookingMasterByUserId 存储库方法来查找具有特定用户 ID 的所有记录时,我得到了 Master 实体的列表,但我没有得到具有 id 作为外键的 Details 实体它。
但是,当我使用开箱即用的 findAll 方法 JpaRepository 但使用自定义 findMasterByUserId 存储库方法时,我得到了所有依赖实体,不会急切地获取子实体。
我们将不胜感激任何类型的帮助。谢谢!
【问题讨论】:
-
试过
@Query? -
@Rossi 我不想编写自定义查询,但想使用 JpaRepository 本身。
标签: spring hibernate spring-data spring-data-jpa