java - 基于 JPA 的 Criteria 查询,用于按字段名称查找实体

标签 java jakarta-ee jpa jpa-2.0 criteria

不知道是不是我觉得JPA的条件查询很难。 接下来要做什么才能获取名称 = :tagNam

的标签
    Tag getTagByName(String tagName){

        CriteriaBuilder cb = em.getCriteriaBuilder();
        CriteriaQuery<Tag> cq = cb.createQuery(Tag.class);
        Root<Tag> root = cq.from(Tag.class);
        **//what to do next in order to get Tag(s) with name = :tagNam**
    }

Tag 是一个具有字段 name

的实体

我浏览过:

  1. http://docs.oracle.com/javaee/6/tutorial/doc/gjivm.html
  2. http://www.ibm.com/developerworks/library/j-typesafejpa/
  3. http://www.programcreek.com/java-api-examples/javax.persistence.criteria.CriteriaQuery

但无法掌握概念。是否有简单的分步教程或全面的教程?

我也很沮丧,因为我被要求(根据教程)使用 Tag_ 这当然不能解决。

最佳答案

试试这个:

CriteriaQuery<Tag> cq = cb.createQuery(Tag.class);
Root<Tag> tag = cq.from(Tag.class);
cq.where(cb.equal(tag.get(Tag_.name), tagName));

这改编自 Oracle 文档(您的第一个链接)。

关于java - 基于 JPA 的 Criteria 查询,用于按字段名称查找实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882293/

相关文章:

mysql - JPA/Hibernate 查询执行时间太长

java - Hibernate/Jpa OneToMany 无法正确检索数据

java - 何时使用 Eclipse 64 位

java - 我收到此警告 : non-varargs call of varargs method with inexact argument type for last parameter;

java - 一个java应用程序中的多个类,每个类都有一个主函数

java - CriteriaBuilder 连接/子查询与结果整数

java - 使用java录制网络广播流

java - 如何使用 jax-rs 和 mongo 在 Java Web 应用程序中更快地访问数据库

java - 根据这六个字符分割字符串0102**

java - 如何在 Java EE 和 Spring Boot 中热重载属性?