2017-07-28 65 views
0

我正在使用休眠状态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
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()