繁体   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