您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在具有枚举字段的实体上使用JPA CriteriaQuery填充DTO类字符串字段?

如何在具有枚举字段的实体上使用JPA CriteriaQuery填充DTO类字符串字段?

我不确定多选的作用。但是当处理 时,您可以使用CriteriaBuilder.construct()

创建MyClassDTO喜欢的构造函数(如果需要,添加参数)

public MyClassDTO(EnumTileIcon icon, EnumProvenance provenance) {
    this.icon=icon.toString();
    this.provenance=provenance.toString();
}

查询调用构造函数,例如(如果需要,添加get参数以匹配构造函数参数)

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<MyClassDTO> cq = cb.createQuery(MyClassDTO.class);
Root<MyClass> root = cq.from(MyClass.class);
cq.select(cb.construct(MyClassDTO.class,
             root.get("enumTileIcon"), root.get("enumProvenance")));

这样你就可以得到

TypedQuery<MyClassDTO> tq = em.createQuery(cq);
其他 2022/1/1 18:28:34 有493人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶