我试图通过传递日期从数据库中检索对象,但它返回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);
}
答案 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"));