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

时间:2015-10-01 07:56:26

标签: java java-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
  4. 但无法掌握概念。是否有一个简单的步骤或综合教程呢?

    我也很沮丧,因为我需要(根据教程)使用Tag_当然没有解决。

1 个答案:

答案 0 :(得分:1)

试试这个:

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

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