在两个日期之间搜索顺序Hibernate,Spring Boot

时间:2018-06-22 09:03:18

标签: spring-boot spring-data-jpa crud

我有一个实体作为订单,其中有一个列作为日期。现在,我想进行自定义搜索以返回两个日期之间的所有订单。我该怎么办?

这是订单实体

    package com.example.API.Entities;


import org.hibernate.annotations.CreationTimestamp;

import javax.persistence.*;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;

@Entity
public class Orders {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private BigInteger id;

    @CreationTimestamp
    @Temporal(TemporalType.TIMESTAMP)
    @Column(nullable = false)
     private Date date;
    @PrePersist
    protected void onCreate() {
        date = new Date();
    }

    @PostPersist
    protected void onUpdate() {
        date = new Date();
    }


    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user;

    public Orders(){}
    public Orders(BigInteger id, Date date,BigInteger userId) {
        super();
        this.id = id;
        this.date = date;
        this.user=new User(userId," ",0000000000L," ");
    }

    public BigInteger getId() {
        return id;
    }

    public void setId(BigInteger id) {
        this.id = id;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

这是存储库

    public interface OrdersRepository extends CrudRepository<Orders,BigInteger> {
    public List<Orders>findByUserId(BigInteger userId);
}

我对如何编写findAllByDate方法感到困惑

我也想点击一个API。 任何事情都会有很大的帮助 所以我也应该有一个请求正文还是有其他方法

1 个答案:

答案 0 :(得分:0)

在您的存储库中创建这样的方法

 public List<Orders> findByDateBetween(Date from, Date to)

spring-data将负责其余的工作。这将获取日期介于和之间的订单