如何在不使用(类型化)参数的情况下在JPA查询中表示日期?
如果日期确实是固定的(例如,1980年3月1日),则代码为:
TypedQuery<MyEntity> q = em.createQuery("select myent from db.MyEntity myent where myent.theDate=?1", db.MyEntity.class).setParameter(1, d);
Run Code Online (Sandbox Code Playgroud)
设定:
日期d =新日期(80,Calendar.MARCH,1);
很啰嗦,不是吗?我想将1980/1/3嵌入到我的查询中.
更新:我将样本日期修改为1980/1/3,因为它是1980/1/1,不明确.
IIRC您可以在JPQL查询中使用日期文字,就像在JDBC中一样,所以类似于:
// d at the beginning means 'date'
{d 'yyyy-mm-dd'} i.e. {d '2009-11-05'}
// t at the beginning means 'time'
{t 'hh-mm-ss'} i.e. {t '12-45-52'}
// ts at the beginning means 'timestamp'; the part after dot is optional
{ts 'yyyy-mm-dd hh-mm-ss.f'} i.e. {ts '2009-11-05 12-45-52.325'}
Run Code Online (Sandbox Code Playgroud)
应该做的工作(需要花括号和撇号).
| 归档时间: |
|
| 查看次数: |
5085 次 |
| 最近记录: |