无法通过传递日期从日期库中检索对象

时间:2017-03-13 14:36:08

标签: hibernate spring-mvc spring-data-jpa

我试图通过传递日期从数据库中检索对象,但它返回null,即使数据库中的对象有该date.can任何人请帮助我

我的代码:

@RequestMapping("/getavailableslots")
public Object getAvialableSlot(){   
    Date date=new Date();
    List<Dates> dates=repository.findByDate(date);
    return dates;
}

jpa存储库:

public interface DateReposotory extends JpaRepository<Dates, Integer> {
    Dates findByDate(Date date);
}

实体:

@Entity
public class Dates {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    int id;

    @Column(name="date")
    Date date;

    @Column(name="slots")
    String[] slots;

    @Column(name="month")
    int month;
    //setters and getters goes here
}

我将数据库中的日期保存为

@RequestMapping("/adddates")
public void addDates(){

    String[] slts={"11am","12am","13am","14am"};
    Date date=new Date();
    Dates dates=new Dates();    
    dates.setDate(date);
    dates.setMonth(date.getMonth());
    dates.setSlots(slts);
    dr.save(dates);

}

2 个答案:

答案 0 :(得分:1)

您应该使用Date date注释实体类的@Temporal(TemporalType.DATE)属性,以便在db和java.util.Date中的DATE之间实现正确的转换。检查this answer

答案 1 :(得分:0)

在实体中声明为:

@Temporal(TemporalType.DATE)
    private Date date;

传入jpa查询:

repository.findByDate(new Date("2017/03/14"));