Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择java中的查询(JPA)_Java_Jpa_Playframework - Fatal编程技术网

选择java中的查询(JPA)

选择java中的查询(JPA),java,jpa,playframework,Java,Jpa,Playframework,我使用JPA和playframework选择JAVA中的记录,如下所示: EntityManager em = JPA.em(); List<News> resultUrl = News.find("link", url).fetch(); if (resultUrl.isEmpty()) { //check if it is exist } where link='url' and name='joe' 我该怎么做? 谢谢你的帮助。 祝您好运。看看CriteriaBuilde

我使用JPA和playframework选择JAVA中的记录,如下所示:

EntityManager em = JPA.em();
List<News> resultUrl = News.find("link", url).fetch();
 if (resultUrl.isEmpty()) { //check if it is exist
}
where link='url' and name='joe'
我该怎么做? 谢谢你的帮助。
祝您好运。

看看CriteriaBuilder、CriteriaQuery和谓词:

EntityManager em = JPA.em();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<T> criteriaQuery = cb.createQuery(News.class);
Root<T> root = criteriaQuery.from(News.class);
criteriaQuery.select(root);

List<Predicate> ps = new ArrayList<Predicate>();
ps.add(sb.equal(root.get("link", url));
ps.add(sb.equal(root.get("name", "joe"));

criteriaQuery.where(cb.and(ps.toArray(new Predicate[0])));

List<News> resultUrl = em.createQuery(criteriaQuery).getResultList();
EntityManager em=JPA.em();
CriteriaBuilder cb=em.getCriteriaBuilder();
CriteriaQuery-CriteriaQuery=cb.createQuery(News.class);
Root=criteriaQuery.from(News.class);
criteriaQuery.select(root);
List ps=new ArrayList();
ps.add(sb.equal(root.get(“link”,url));
添加(sb.equal(root.get(“name”、“joe”));
其中(cb.and(ps.toArray(新谓词[0]));
List resultUrl=em.createQuery(criteriaQuery).getResultList();

关于

查看CriteriaBuilder、CriteriaQuery和谓词:

EntityManager em = JPA.em();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<T> criteriaQuery = cb.createQuery(News.class);
Root<T> root = criteriaQuery.from(News.class);
criteriaQuery.select(root);

List<Predicate> ps = new ArrayList<Predicate>();
ps.add(sb.equal(root.get("link", url));
ps.add(sb.equal(root.get("name", "joe"));

criteriaQuery.where(cb.and(ps.toArray(new Predicate[0])));

List<News> resultUrl = em.createQuery(criteriaQuery).getResultList();
EntityManager em=JPA.em();
CriteriaBuilder cb=em.getCriteriaBuilder();
CriteriaQuery-CriteriaQuery=cb.createQuery(News.class);
Root=criteriaQuery.from(News.class);
criteriaQuery.select(root);
List ps=new ArrayList();
ps.add(sb.equal(root.get(“link”,url));
添加(sb.equal(root.get(“name”、“joe”));
其中(cb.and(ps.toArray(新谓词[0]));
List resultUrl=em.createQuery(criteriaQuery).getResultList();
关于使用:

Query q = em.createQuery("FROM News n WHERE n.link=:url and n.name=:name");
q.setParameter("url", "url").setParameter("name", "joe");
List<News> resultUrl = q.getResultList();
Query q=em.createQuery(“来自新闻n,其中n.link=:url和n.name=:name”);
q、 setParameter(“url”、“url”)。setParameter(“name”、“joe”);
List resultUrl=q.getResultList();
…使用:

Query q = em.createQuery("FROM News n WHERE n.link=:url and n.name=:name");
q.setParameter("url", "url").setParameter("name", "joe");
List<News> resultUrl = q.getResultList();
Query q=em.createQuery(“来自新闻n,其中n.link=:url和n.name=:name”);
q、 setParameter(“url”、“url”)。setParameter(“name”、“joe”);
List resultUrl=q.getResultList();

…玩游戏的一种方法是

List<News> resultUrl = News.find("byLinkAndName", url, "joe").fetch();
 if (resultUrl.isEmpty()) { //check if it is exist
}
List resultur=News.find(“byLinkAndName”,url,“joe”).fetch();
if(resultur.isEmpty()){//检查它是否存在
}
另一个:

List<News> resultUrl = News.find("link = ? and name = ?", url, "joe").fetch();
 if (resultUrl.isEmpty()) { //check if it is exist
}
List resultur=News.find(“link=?and name=?”,url,“joe”).fetch();
if(resultur.isEmpty()){//检查它是否存在
}

玩游戏的一种方法是

List<News> resultUrl = News.find("byLinkAndName", url, "joe").fetch();
 if (resultUrl.isEmpty()) { //check if it is exist
}
List resultur=News.find(“byLinkAndName”,url,“joe”).fetch();
if(resultur.isEmpty()){//检查它是否存在
}
另一个:

List<News> resultUrl = News.find("link = ? and name = ?", url, "joe").fetch();
 if (resultUrl.isEmpty()) { //check if it is exist
}
List resultur=News.find(“link=?and name=?”,url,“joe”).fetch();
if(resultur.isEmpty()){//检查它是否存在
}

我的建议是定义一个命名查询:

@Entity
@NamedQueries({
    @NamedQuery(name = News.FIND_BY_URL_AND_NAME, query = "Select n FROM News as n WHERE n.url=:" + News.PARAM_URL + " AND n.name=:" + News.PARAM_NAME)
})
public class News {
    public static final String FIND_BY_URL_AND_NAME = "News.findByUrlAndName";
    public static final String PARAM_URL = "url";
    public static final String PARAM_NAME = "name";

    //CONTINUE
}
然后你这样称呼它:

Query query = em.createNamedQuery(News.FIND_BY_URL_AND_NAME);
query.setParameter(News.PARAM_URL, "url");
query.setParameter(News.PARAM_NAME, "name");
List<News> news = query.getResultList();
Query Query=em.createNamedQuery(News.FIND_BY_URL_和_NAME);
query.setParameter(News.PARAM_URL,“URL”);
query.setParameter(News.PARAM_NAME,“NAME”);
List news=query.getResultList();

我的建议是定义一个命名查询:

@Entity
@NamedQueries({
    @NamedQuery(name = News.FIND_BY_URL_AND_NAME, query = "Select n FROM News as n WHERE n.url=:" + News.PARAM_URL + " AND n.name=:" + News.PARAM_NAME)
})
public class News {
    public static final String FIND_BY_URL_AND_NAME = "News.findByUrlAndName";
    public static final String PARAM_URL = "url";
    public static final String PARAM_NAME = "name";

    //CONTINUE
}
然后你这样称呼它:

Query query = em.createNamedQuery(News.FIND_BY_URL_AND_NAME);
query.setParameter(News.PARAM_URL, "url");
query.setParameter(News.PARAM_NAME, "name");
List<News> news = query.getResultList();
Query Query=em.createNamedQuery(News.FIND_BY_URL_和_NAME);
query.setParameter(News.PARAM_URL,“URL”);
query.setParameter(News.PARAM_NAME,“NAME”);
List news=query.getResultList();

不需要担心这里的实体管理器。Play为您处理所有这些。不需要担心这里的实体管理器。Play为您处理所有这些。