我是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条最后一条记录。我已经搜索了很多,但找不到有用的东西。
也许,您可以定义为:
List<MemberRecentContent> findFirst10ByMemberId(Long memberId, Sort sort);
然后使用时:
Sort sort = new Sort(Sort.Direction.DESC, "VIEW_DATE")
myRepository.findFirst10ByMemberId(memberId, sort)