[英]Firebase Realtime Database long values always return 0 even though it is not
[英]createNamedQuery not return objects in the database even though there are
我在使用createNamedQuery從數據庫收集對象時遇到問題,盡管它們在那里。
商務課程 :
Article article;
try{
TypedQuery<Article> query = em.createNamedQuery("Article.findByTitle", Article.class);
query.setParameter("articleTitle",title);
article = query.getResultList().size()==1 ? query.getResultList().get(0) : null;
} catch (NoResultException e) {
throw new NoResultException();
}
實體類:
@Entity
@Table(name = "article")
@XmlRootElement
@NamedQuery(name = "Article.findByTitle", query = "SELECT a FROM Article a WHERE a.articleTitle = :articleTitle")
public class Article implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(unique = true, name = "article_id")
private Integer articleId;
@Basic(optional = false)
@Column(name = "article_title")
private String articleTitle;
.
.
.
}
在控制台中記錄此查詢:
INFO [stdout] (default task-15) Hibernate: select article0_.article_id as article_1_0_, article0_.article_date as article_2_0_, article0_.article_short_content as article_3_0_, article0_.article_title as article_4_0_, article0_.article_url as article_5_0_ from article article0_ where article0_.article_title=?
EntityManager正常工作,因為執行了持久性或合並
嘗試進行調試。 您有這行:
article = query.getResultList().size()==1 ? query.getResultList().get(0) : null;
也許您在查詢中得到了多個結果,如果發生這種情況,那一行代碼會使文章為空。 您也可以嘗試:
List<Article> articles;
try{
TypedQuery<Article> query = em.createNamedQuery("Article.findByTitle", Article.class);
query.setParameter("articleTitle",title);
articles = query.getResultList();
} catch (NoResultException e) {
throw new NoResultException();
}
getResultList()返回對象列表,並且由於您具有TypedQuery,因此可以初始化具有文章列表的對象
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.