hibernate - 是否有 Eclipselink 替代 Hibernate @where 注释?
问题描述
是否有 Eclipselink 替代 Hibernate @where 注释?我在休眠中有我的实体类
@Table(name = "entity_definition")
public class EntityDefinition implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@Column(name = "\"entity_id\"", nullable = false)
private Integer entityId;
@OneToMany(mappedBy = "entityId", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@Where(clause = "ep_exp_dt >= now()")
private Set<EntityProvider> entityProvider;
或者我该如何使用 CriteriaBuilder
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<EntityDefinition> cq = cb.createQuery(EntityDefinition.class);
Root<EntityDefinition> ed = cq.from(EntityDefinition.class);
ParameterExpression<Date> paramCurrentDate = cb.parameter(Date.class);
final Predicate predicateEDCurrDate = cb.greaterThanOrEqualTo(ed.get("edExpDt"), paramCurrentDate);
ParameterExpression<String> paramEntityName = cb.parameter(String.class);
final Predicate predicateEntityName = cb.equal(ed.get("entityNm"), paramEntityName);
cq.select(ed).where(cb.and(predicateEntityName, predicateEDCurrDate));
TypedQuery<EntityDefinition> tQuery = entityManager.createQuery( cq );
tQuery.setParameter( paramEntityName, entityNm.toUpperCase() );
tQuery.setParameter( paramCurrentDate, Date.valueOf(LocalDate.now()));
return tQuery.getSingleResult();
感谢任何帮助。
拉吉
解决方案
推荐阅读
- latex - LaTeX:字体样式
- python - 无法使用烧瓶设置 sqlite 数据库 - SQLAlchemy
- php - Symfony 中的多数据库连接查询
- javascript - 如何在一行中制作一个 div 和一个锚标记
- data-structures - 在 Hashtable 内循环中插入的大 O 是什么?
- node.js - crontab 失败。从外部目录运行时节点脚本失败
- react-native - useFocusEffect 清理发生在下一页 useEffect 之后?
- javascript - 将 Vue.JS 道具发送到 JavaScript 函数时出现问题
- javascript - 使用 JavaScript 验证简单的 html 表单
- r - R将频率分布“刻度”添加到ggplot