【发布时间】:2020-03-12 20:10:55
【问题描述】:
这是我的实体类
@Data
@NoArgsConstructor
@Builder
@AllArgsConstructor
@Entity(name = "words")
public class Word {
@Id
private Long id;
@ManyToOne
private Group group;
@ManyToOne
private User user;
@NotBlank
private String englishWord;
@NotBlank
private String russianWord;
private LocalDate created = LocalDate.now();
private final LocalDate plusOneDay = created.plusDays(1);
private final LocalDate plusTwoDays = created.plusDays(2);
private final LocalDate plusFiveDays = created.plusDays(5);
private final LocalDate plusTenDays = created.plusDays(10);
private final LocalDate plusTwoWeeks = created.plusWeeks(2);
private final LocalDate plusSixWeeks = created.plusWeeks(6);
private final LocalDate plusThreeMonths = created.plusMonths(3);
private final LocalDate plusSixMonths = created.plusMonths(6);
private final LocalDate plusOneYear = created.plusYears(1);
}
如您所见,我有几个 LocalDate 字段。
我需要检查,created, OR plusOneDay, OR plusTwoWeek, etc 是否与今天匹配。如果匹配 - 它必须从数据库中获取。我可以这样写:
Set<Word> findAllByCreatedOrByPlusOneDayOrByPlusTwoDays(LocalDate date);
但是请求会太长,并且不起作用。 还有其他方法可以在一个日期之前检查多个字段吗?
【问题讨论】:
标签: java spring spring-data-jpa spring-data jpql