Playframework 在数据库中查找日期对象

Playframework 在数据库中查找日期对象,playframework,playframework-2.0,ebean,Playframework,Playframework 2.0,Ebean,我想让所有事件都发生在特定的日期,但我无法让它工作 Event buffer_event = Event.find.where().like("date",new_date).findUnique(); 这里的新日期是一个普通日期对象,日期为2016年3月3日09:00。 但是当我试着运行这条线时,我得到了一个错误 java.util.Date cannot be converted to java.lang.String 所以我用一根绳子试了一下: Event buffer_event =

我想让所有事件都发生在特定的日期,但我无法让它工作

Event buffer_event = Event.find.where().like("date",new_date).findUnique();
这里的新日期是一个普通日期对象,日期为2016年3月3日09:00。 但是当我试着运行这条线时,我得到了一个错误

java.util.Date cannot be converted to java.lang.String
所以我用一根绳子试了一下:

Event buffer_event = Event.find.where().like("date", "03/03/2016 09:00").findUnique();
但我也犯了一个错误:

[PersistenceException: Query threw SQLException:Cannot parse "TIMESTAMP" constant "Thu Mar 03 09:00:00 CET 2016"; SQL statement: select t0.id c0, t0.name c1, t0.date c2, t0.user_id c3 from event t0 where t0.date like ? [22007-187] Bind values:[Thu Mar 03 09:00:00 CET 2016] Query was: select t0.id c0, t0.name c1, t0.date c2, t0.user_id c3 from event t0 where t0.date like ? ]
那么,如何从数据库中获取当天的所有事件呢

编辑:


首先,您可能应该使用
.eq
而不是
.like
来表示日期。对于查询,您是否尝试向查询传递
DateTime
对象?类似这样(未经测试):

DateTimeFormatter formatter=DateTimeFormat.forPattern(“dd/MM/yyyy HH:MM”); DateTime dt=格式化程序.parseDateTime(“03/03/2016 09:00”); Event buffer_Event=Event.find.where().eq(“date”,dt).findUnique();
首先,您可能应该使用
.eq
而不是
.like
来表示日期。对于查询,您是否尝试向查询传递
DateTime
对象?类似这样(未经测试):

DateTimeFormatter formatter=DateTimeFormat.forPattern(“dd/MM/yyyy HH:MM”); DateTime dt=格式化程序.parseDateTime(“03/03/2016 09:00”); Event buffer_Event=Event.find.where().eq(“date”,dt).findUnique();
发布您的
事件
类以及事件表的DDL。我编辑了原始帖子。感谢您的timePost您的
事件
类以及事件表的DDL。我编辑了原始帖子。谢谢你的时间,就这样,我所要做的就是使用.eq。谢谢你的回答,我对玩框架还是新手。就是这样,我所要做的就是使用.eq。谢谢你的回答,我还是新手。
@Entity
public class Event extends Model {

@Id
public Long id;

public String name;

@Formats.DateTime(pattern="dd/MM/yyyy HH:mm")
public Date date;

@ManyToOne()
public User user;


public Event (String name, Date date) {
    this.name = name;
    this.date = date;
}

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public Date getDate() { return date; }

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

public static Model.Finder<Long,Event> find = new Model.Finder<Long,Event>(Long.class, Event.class);
}
    # --- Rev:1,Ups - df1003e

create table event (

id                        bigint not null,

name                      varchar(255),

date                      timestamp,

user_id                   bigint,

constraint pk_event primary key (id))

;



create table user (

id                        bigint not null,

email                     varchar(255),

password                  varchar(255),

role                      varchar(255),

firstname                 varchar(255),

lastname                  varchar(255),

constraint pk_user primary key (id))

;



create sequence event_seq;



create sequence user_seq;



alter table event add constraint fk_event_user_1 foreign key (user_id) references user (id) on delete restrict on update restrict;

create index ix_event_user_1 on event (user_id);
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm"); DateTime dt = formatter.parseDateTime("03/03/2016 09:00"); Event buffer_event = Event.find.where().eq("date", dt).findUnique();