Имя метода Spring Data для конкретной цели c - PullRequest
1 голос
/ 14 марта 2020

Я новичок в Spring Data. Я знаю, что могу сделать это по @Query, но я бы тоже хотел узнать больше о том, как писать имена методов для конкретной цели c.

Это моя сущность:

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

Теперь мне нужно объединить эти два метода, но я понятия не имею, как это сделать. Мне нужно найти 10 последних записей для указанных c MemberId. Я много искал, но ничего полезного не нашел.

1 Ответ

1 голос
/ 14 марта 2020

Может быть, вы можете определить как это:

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

, а затем, при использовании:

Sort sort = new Sort(Sort.Direction.DESC, "VIEW_DATE")
myRepository.findFirst10ByMemberId(memberId, sort)
...