我有模板实体,它具有:
@ManyToOne
@JsonView(JsonDefinitionMapper.SecondLevel.class)
@Audited
private TemplateType templateType;
for(String property:PropertiesList){
newValue = auditReader.createQuery()
.forRevisionsOfEntity(Template.class, false, true)
.addProjection(AuditEntity.property(property))
.add(AuditEntity.property(property).hasChanged())
.add(AuditEntity.id().eq(templateId))
.add(AuditEntity.revisionNumber().eq(revisionNumber)).getSingleResult();
}
我正在使用postgres数据库
我最初的想法是利用Envers5.2中添加的新的关系遍历API,通过它可以编写如下所示的查询:
final List results = auditReader.createQuery()
.forEntitiesModifiedAtRevision( Template.class, revNo )
.traverseRelation( "templateType", JoinType.INNER )
.addProjection( AuditEntity.selectEntity( false ) )
.up()
.add( AuditEntity.property( "templateType" ).hasChanged() )
.getResultList();
这里的想法是,我们基本上要求在结果列表中返回TemplateType
,但前提是它被认为是在根实体Template
上修改的;但是,这个查询引入了我认为是一个bug:
org.hibernate.QueryException:未设置命名参数[revision]
因此,目前,我唯一的建议是,如果您的实体类有超出基本类型属性的任何内容,您可能需要在代码中使用反射,从返回的bean实际获取值
final List results = auditReader.createQuery()
.forEntitiesModifiedAtRevision( Template.class, revNo )
.add( AuditEntity.property( propertyName ).hasChanged() )
.getResultList();
对于列表中的条目,您需要使用反射为propertyname
标识的适当属性调用适当的getter。它并不理想,但至少避免了您面临的查询问题。
问题内容: 假设我有两个表,其中一个表包含名为column_period的以下列: tenant_trading_name,suite_id,lease_id,building_id 另一个名为lease_period_audit,具有以下内容: audit_date,audit_type,tenant_trading_name,suite_id,lease_id,building_id 每次在l
我在试图让被审计的实体引用未被审计的实体时遇到问题。在我们的应用程序中,某些实体在没有使用hibernate的情况下被引导,这些实体是我们的元模型,不需要被审计。 如果我执行代码: 一切都很顺利,但是如果我试图获得B的版本,就会出现错误: 组织.Hibernate.对象不发现例外:不存在具有给定标识符的行 [元foo] Envers通过对metafoo实体的惰性引用成功地查找了B实体。然而,当尝试
我写了一个查询 我在中设置了 2018-05-08 19:22:27.675错误1259--[nio-8080-exec-4]O.A.C.C.C.[.[.[/].[dispatcherServlet]:路径为[]的上下文中servlet[dispatcherServlet]的servlet.Service()引发异常[请求处理失败;嵌套异常为org.springframework.dao.inva
接口说明 审核用户的注册申请 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/user/1.0.0/check 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 guid string form 是 用户ID status int form 是 用户状态[0:未审核;1:已审核] 响应字段说明 无 响应
我试图在我的spring boot应用程序中配置mongodb审核,在尝试持久化我的域类时出现了这个错误: 和我的域类:
描述 (Description) 如果属性自上次set发生更改,则返回true。 语法 (Syntax) model.hasChanged(attribute) 参数 (Parameters) attribute - 它定义模型的属性。 例子 (Example) <!DOCTYPE html> <head> <title> Model Example</title>