0
我有一個使用createNamedQuery從數據庫收集對象的問題,雖然它們在那裏。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的正常工作,因爲執行持續存在或合併