我有一个表格,其中日期字段是varchar。由于它是遗留应用程序,我不想更改数据类型。我想在条件中编写以下查询。任何帮助将受到高度赞赏
select * from ucms_vu vu where vu.case_e_dt is not null and to_date(vu.case_e_dt,'YYYY-MM-DD') = to_date('2018-02-02','YYYY-MM-DD')
答案 0 :(得分:0)
纯粹使用JPA,我认为这是不可能的。因为您想要在不可操作的数据中进行特定操作。
如果您也使用Hibernate,@Formula注释可以解决您的问题。
您可以在ucms_vu实体中创建一个属性:
@Formula("to_date(case_e_dt,'YYYY-MM-DD')")
private Date caseE;
您的条件将使用此属性来执行查询。
例如:
Criteria criteria = session.createCriteria(Ucms_vu.class, "ucms");
criteria.add(Restrictions.eq("ucms.caseE", new Date("your date 02/02/2018"));
criteria.list();