我有一个散列表,它具有键值对,例如:
testMap = new HashMap(){{
put(iD, sID);
put(lEVEL, sLevel);
put(tYPE, sType);
put(vALUE, sValue);
现在我有了实体类,其中包含如下字段
@Column(name = "ID")
private String id;
@Column(name = "LEVEL")
private String level;
@Column(name = "PROGRAM")
private String program;
@Column(name = "TYPE")
private String type;
@Column(name = "VALUE")
private String value;
@Column(name = "STARTDATE")
private Date start;
现在我需要创建一个命名查询,其中每一列的值都必须从map键值对中提取出来(类似于:tesMap.get(iD)和ID列中的设置),同时将开始日期与当前日期进行比较,并在startdate列中设置最大日期。
@Query(value = "SELECT * FROM OVERRIDES s " +
"WHERE s.ID =?1 AND s.LEVEL=?2 AND s.TYPE=?3 AND s.VALUE=?4", nativeQuery = true)
此外,无法决定如何比较此选择查询中的日期。
2条答案
按热度按时间vwoqyblh1#
用
Date.after()
方法可以很容易地比较日期。例如:
至于剩下的问题,请提供整个实体,或者更多关于查询的信息
guicsvcw2#
在SQL中,您可以使用关系运算符
>
、<
、>=
、<=
来比较日期/时间戳,即