oracle - Hibernate CriteriaQuery,基于时间戳获取
问题描述
我有一个带有两列标记为 java.util.Date 的实体,但是在表(oracle db)中提供了相同的列作为时间戳。
@Column(name = "STD_DATT")
private Date stdDatt;
@Column(name = "ETA_DATT")
private Date etaDatt;
我正在尝试使用如下条件查询来查询表:
CriteriaBuilder builder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Class1> query = builder.createQuery(Class1.class);
Root<Class2> root = query.from(Class2.class);
List<Predicate> predicateList = new ArrayList();
if (rule.getTimeInterval() != 0) {
Predicate etdNotNull = builder.isNotNull(root.get("etdDatt"));
Date timeInterval = DateUtils.addMinutes(new Date(), (int) rule.getTimeInterval());
Predicate etdEqualsOrlesser = builder.lessThanOrEqualTo(root.get("etdDatt"), timeInterval);
Predicate etd = builder.and(etdNotNull, etdEqualsOrlesser);
predicateList.add(etdEqualsOrlesser);
}
if(CollectionUtils.isNotEmpty(predicateList)) {
Predicate[] predicates = new Predicate[predicateList.size()];
predicateList.toArray(predicates);
query.where(builder.and(predicates));
}
getEntityManager().createQuery(query).getResultList();
这没有返回我预期的输出。任何人都可以请建议我哪里出错了。
解决方案
推荐阅读
- javascript - 如何从需要基本身份验证的 URL 获取 src
- laravel - 基于域名的路由条件加载
- javascript - 如何使用 javascript 触发 asp.net customvalidator
- python - bucket.blob.upload_from_string 返回“ValueError:无无法转换为 unicode”
- javascript - 从 ajax 获取请求的数据
- flutter - 如何在颤振中实现这一点?
- popup - Kivy 从弹出窗口获取值并在屏幕上使用它
- android - ExoPlayer 中的自定义时间栏
- python - Copy Multiple Lines to variable in python using pyperclip
- kdb - 如何在 kdb 中删除具有重复值的行?