我正在使用hibernate enverse 5.2.10.Final和postgres数据库。
AuditReader auditReader = AuditReaderFactory.get(entityManager);
String newValue = (String) auditReader.createQuery()
.forEntitiesAtRevision(Vehicle.class, 2203869)
.traverseRelation("vehicleType", JoinType.INNER).addProjection(AuditEntity.property("id")).up()
.add(AuditEntity.property("vehicleType").hasChanged())
.add(AuditEntity.id().eq(2203422l))
.add(AuditEntity.revisionNumber().eq(2203869)).getSingleResult();
车辆表与vehicleType有多对一的关系。 如何利用逆向查询得到车辆实体车型属性的变化。 在这里我没有找到结果发现错误。 无法通过Audientity.property获得价值(" vehicleType").. hasChanged() 他们找不到错误属性。
答案 0 :(得分:0)
auditReader.createQuery()
.forEntitiesAtRevision( Vehicle.class, revisionNumber )
.traverseRelation( propertyname, JoinType.LEFT )
.addProjection( AuditEntity.property("id") ).up()
.add( AuditEntity.property( propertyname ).hasChanged() )
.add( AuditEntity.id().eq( VehicleId ) )
.getSingleResult()