如何在hibernate查询语言中使用Date函数

时间:2017-04-01 10:29:43

标签: hibernate

您试图根据日期明智地从数据库中获取记录,我该如何实现这一目标 在数据库中我有像start_date这样的列,数据类型为datetime,而在模型类中,我有像

这样的数据成员
const fileTransfer: TransferObject = this.transfer.create();

  let options1: FileUploadOptions = {
     fileKey: 'file',
     fileName: 'name.jpg',
     headers: {}

  }

 fileTransfer.upload(imageDataLocalURL, 'http://localhost/ionic/upload.php',  options1)
.then((data) => {
 // success
 alert("success");
}, (err) => {
 // error
 alert("error"+JSON.stringify(err));
});

我正在尝试编写如下的查询

public class Records {
private Date startDate 
// getters and setters 
}

2 个答案:

答案 0 :(得分:0)

您的问题中有很多问题尚不清楚。但是,请尝试将TemporalType.DATE添加到您的查询中,例如:

.. query.setParameter(0, getStartDate(), TemporalType.DATE);

基本上,JPA需要知道您使用日期字段过滤记录。如果我可以使用更详细的示例进行演示:如果您的实体类是Record并且@Id是字段startDate,那么:

@Entity
@NamedQuery(name="Record.findByStartDate",
    query="SELECT e FROM Record e"   // here returning the whole entity
    + " WHERE e.startDate = :startDate")
@Table(name="records")
public class Record implements Serializable {

    @Id
    @Column(name="startDate")
    @Temporal(TemporalType.DATE)
    private Date startDate;
    ...
}

搜索查询方法如下:

public Record findByStartDate (Date startDate) {
    try {
      return (Record) em.createNamedQuery("Record.findByStartDate")
        .setParameter("startDate", startDate, TemporalType.DATE)
        .getSingleResult();
    } catch (NoResultException e) {
        return null;
    }
  }

答案 1 :(得分:0)

使用此:

{{1}}