SQL 本机查询以获取 X 中到期日期的对象列表
SQL native query to get a list of objects where date expiring in X
我有一些“卡片”对象:
@Entity
@Table(name = "card", schema = "public")
@Data
@EqualsAndHashCode(callSuper = false)
public class Card {
@Id
@GeneratedValue
private Long id;
@Column(name="name")
private String name;
@Column(name="scope_time_limit")
private LocalDateTime expireDate;
}
我想准备一些本机查询,以便根据我指定的日期获取到期卡列表。我有这个方法:
List<Card> getExpiringCards(Integer numberOfDaysToExpiringCard) {
return cardRepository.getExpiringCardsByDay(numberOfDaysToExpiringAgreement);
}
什么是最佳查询?我在考虑本机查询。
提前致谢。
你缺少一些关于你在使用什么以及你如何访问你的数据库等的细节。但是,我想展示一个使用 Spring 数据的例子只是为了粗略的想法。
您的存储库:
public interface CardRepository extends JpaRepository<Card, Integer> {
List<Card> findByExpireDateAfter(LocalDateTime expireDate);
}
在您的服务中的某处或您使用它的任何地方:
@Autowired
CardRepository cardRepository;
List<Card> getCardsWillBeExpiredInDays(int days) {
LocalDateTime someDaysLater = LocalDateTime.now().plusDays(days);
return cardRepository.findByCreatedAfter(someDaysLater);
}
我有一些“卡片”对象:
@Entity
@Table(name = "card", schema = "public")
@Data
@EqualsAndHashCode(callSuper = false)
public class Card {
@Id
@GeneratedValue
private Long id;
@Column(name="name")
private String name;
@Column(name="scope_time_limit")
private LocalDateTime expireDate;
}
我想准备一些本机查询,以便根据我指定的日期获取到期卡列表。我有这个方法:
List<Card> getExpiringCards(Integer numberOfDaysToExpiringCard) {
return cardRepository.getExpiringCardsByDay(numberOfDaysToExpiringAgreement);
}
什么是最佳查询?我在考虑本机查询。
提前致谢。
你缺少一些关于你在使用什么以及你如何访问你的数据库等的细节。但是,我想展示一个使用 Spring 数据的例子只是为了粗略的想法。
您的存储库:
public interface CardRepository extends JpaRepository<Card, Integer> {
List<Card> findByExpireDateAfter(LocalDateTime expireDate);
}
在您的服务中的某处或您使用它的任何地方:
@Autowired
CardRepository cardRepository;
List<Card> getCardsWillBeExpiredInDays(int days) {
LocalDateTime someDaysLater = LocalDateTime.now().plusDays(days);
return cardRepository.findByCreatedAfter(someDaysLater);
}