[英]JPA Audit entity direct query
I would like to query audit entity in my JPA environment. 我想在我的JPA环境中查询审核实体。
At first I do AuditQuery
and it works well, but now I need more advance query witch I can't do with AuditQuery
. 一开始我会做
AuditQuery
,而且效果很好,但是现在我需要更多无法使用AuditQuery
高级查询。
Now I need something like 现在我需要
this.em.createQuery("FROM ENTITY_AUD").getResultList();
but I get error : 但我得到错误:
QuerySyntaxException: ENTITY_AUD is not mapped [ENTITY_AUD]
I understand that this is due that I don't have entity with all properties, but I don't want to have entity because it is audit entity. 我知道这是由于我没有具有所有属性的实体,但是我不想拥有实体,因为它是审计实体。
Is there a way around it? 有办法解决吗? For me it would be ok to get List of Object.
对我来说,获取对象列表是可以的。
You can always create native SQL query in JPA. 您始终可以在JPA中创建本机SQL查询。 Replace
createQuery
with createNativeQuery
in your code: 在代码
createQuery
createNativeQuery
替换为createNativeQuery
:
List<Object[]> list =
this.em.createNativeQuery("SELECT * FROM ENTITY_AUD").getResultList();
Add a NamedQuery in your Audit class 在审核类中添加NamedQuery
@Entity
@Table(name = "ENTITY_AUD")
@NamedQueries({
@NamedQuery(name = "Audit.findAll", query = "SELECT a FROM Audit a")})
public class Audit implements Serializable {
...
}
then use the named query 然后使用命名查询
List<Audit> auditList = entityManager.createNamedQuery("Audit.findAll").getResultList();
Read : Implementing a JPA Named Query 阅读: 实现JPA命名查询
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.