特定用途的Spring数据方法名称

问题描述 投票:1回答:1

我是Spring Data的新手。我知道我可以通过@Query来做到这一点,但我也想了解更多有关如何为特定目的编写方法名称的信息。

这是我的实体:

@Entity
@Table(name = "MEMBER_RECENT_CONTENT")
public class MemberRecentContent {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "ID", unique = true, nullable = false)
private Long id;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "MEMBER_ID", nullable = false)
private NCDMMember member;

@Column(name = "PRODUCT_ID", nullable = false)
private Long productId;

@Column(name = "VIEW_DATE", nullable = false)
private Date viewDate;

}

在我的存储库中,我有以下两种方法:

List<MemberRecentContent> findByMember_Id(Long memberId);
List<MemberRecentContent> findFirst10ByOrderByViewDateDesc();

现在,我需要结合这两种方法,但是我不知道如何执行此操作。我需要为特定的MemberId查找10条最后一条记录。我已经搜索了很多,但找不到有用的东西。

java hibernate spring-data-jpa spring-data
1个回答
1
投票

也许,您可以定义为:

List<MemberRecentContent> findFirst10ByMemberId(Long memberId, Sort sort);

然后使用时:

Sort sort = new Sort(Sort.Direction.DESC, "VIEW_DATE")
myRepository.findFirst10ByMemberId(memberId, sort)
© www.soinside.com 2019 - 2024. All rights reserved.