Java 检查其他两个日期之间的日期spring data jpa
我有这个模型:Java 检查其他两个日期之间的日期spring data jpa,java,spring,spring-data-jpa,spring-repositories,Java,Spring,Spring Data Jpa,Spring Repositories,我有这个模型: public class Event { private String name; private Date start; private Date end; } 和存储库作为 @Repository public interface EventRepository extends JpaRepository<Event, Long> { List<Event> findByEventTypeAccount(Account
public class Event {
private String name;
private Date start;
private Date end;
}
和存储库作为
@Repository
public interface EventRepository extends JpaRepository<Event, Long> {
List<Event> findByEventTypeAccount(Account account);
}
@存储库
公共接口事件存储库扩展了JpaRepository{
列出findByEventTypeAccount(Account Account);
}
我想做的是,我将传递一个日期,并需要检查日期是否在开始
和结束
之间(我将9月30日传递为日期,并需要查找所有在开始
和结束
之间有9月30日的条目)
类似于finddateisbetween start and end(Date)
?您应该看看。解释得很好
在您的情况下,我认为您不能使用between,因为您需要传递两个参数
介于之间-FindBystartDateBeween…其中x.startDate介于?1和?2之间
在您的案例中,请查看使用LessThan
或LessThanEqual
与GreaterThanEqual
或GreaterThanEqual
- LessThan/LessThanEqual
您可以使用运算符
和
和或
将两者结合起来。对此,我使用了以下解决方案:
findAllByStartDateLessThanEqualAndEndDateGreaterThanEqual(OffsetDateTime endDate, OffsetDateTime startDate);
您还可以使用
@query
@Query(value = "from EntityClassTable t where yourDate BETWEEN :startDate AND :endDate")
public List<EntityClassTable> getAllBetweenDates(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
@Query(value=“from EntityClassTable t,其中yourDate介于:startDate和:endDate之间”)
公共列表GetAllBetweenDate(@Param(“startDate”)日期startDate,@Param(“endDate”)日期endDate);
也许你可以试试
列表您应该查看参考文档:。解释得很好。请你补充一点(更详细的)解释?但是你应该通过两个日期开始和结束,我认为这是正确的方法婴儿车的顺序是错误的。首先,param与startDate相关,而不是endDate@JordanSilva,参数的顺序是正确的,因为它测试的是与另一个周期交叉的周期,而不是另一个周期完全在检查周期内。嗨,字符串值是否可以这样做?因此,例如,对于一个人员表,在lastname=“abcd”到lastname=“efgh”@Pau之间选择all,方法名称不应该是findByStartLessThan\Equal
和findbystartgreatetherthan\Equal
,因此它对应于JPQL(即其中x.start\=?1
)?您能告诉我在开始和结束之间,您从客户机传递给FindDateisb方法调用控制器的日期格式吗??当我通过客户端为端点提交请求时,我坚持使用格式部分。如何在另一个属性上添加where条件?在spring数据jpa中的单个查询中,介于和在何处一起?这是未解释代码和链接的组合。请添加代码如何工作以及如何解决问题的说明。没有这样的解释,你的文章传播了一种误解,认为StackOverflow是一个兜售未付费编程工作的平台。外部链接不被视为此类解释。仅链接的答案可能会被删除。它将如何处理空的开始和结束日期?