簡體   English   中英

JPA審核實體直接查詢

[英]JPA Audit entity direct query

我想在我的JPA環境中查詢審核實體。

一開始我會做AuditQuery ,而且效果很好,但是現在我需要更多無法使用AuditQuery高級查詢。

現在我需要

 this.em.createQuery("FROM ENTITY_AUD").getResultList();

但我得到錯誤:

 QuerySyntaxException: ENTITY_AUD is not mapped [ENTITY_AUD]

我知道這是由於我沒有具有所有屬性的實體,但是我不想擁有實體,因為它是審計實體。

有辦法解決嗎? 對我來說,獲取對象列表是可以的。

您始終可以在JPA中創建本機SQL查詢。 在代碼createQuery createNativeQuery替換為createNativeQuery

List<Object[]> list = 
    this.em.createNativeQuery("SELECT * FROM ENTITY_AUD").getResultList();

在審核類中添加NamedQuery

@Entity
@Table(name = "ENTITY_AUD")
@NamedQueries({
@NamedQuery(name = "Audit.findAll", query = "SELECT a FROM Audit a")})
public class Audit implements Serializable {
         ...
}

然后使用命名查詢

List<Audit> auditList = entityManager.createNamedQuery("Audit.findAll").getResultList();

閱讀: 實現JPA命名查詢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM