감사를 위해 최대 절전 모드를 사용합니다.Hibernate Envers : 리비전을 질의하는 중 문제가 발생했습니다.
이제@Entity
@Audited
public class Child
{
@GeneratedValue
@Id
@Column
private Long id;
@Column
private String test;
// getters & setters
}
이 같은 개정을 조회하고 싶습니다 :
이query = reader.createQuery().forRevisionsOfEntity(Child.class, false, true);
query.add(AuditEntity.property("test").eq("child1"));
Long id = ...;
query = reader.createQuery().forRevisionsOfEntity(Child.class, false, true);
query.add(AuditEntity.property("id").eq(id));
첫 번째 쿼리가 작동, 두 번째는 다음과 같은 예외가 발생합니다 실행 :
java.lang.ClassCastException: java.lang.Long cannot be cast to java.util.Map
at org.hibernate.property.MapAccessor$MapGetter.get(MapAccessor.java:118)
at org.hibernate.tuple.component.AbstractComponentTuplizer.getPropertyValue(AbstractComponentTuplizer.java:77)
at org.hibernate.tuple.component.AbstractComponentTuplizer.getPropertyValues(AbstractComponentTuplizer.java:83)
at org.hibernate.type.ComponentType.getPropertyValues(ComponentType.java:381)
at org.hibernate.type.ComponentType.nullSafeGetValues(ComponentType.java:354)
at org.hibernate.type.ComponentType.nullSafeSet(ComponentType.java:309)
at org.hibernate.param.NamedParameterSpecification.bind(NamedParameterSpecification.java:67)
at org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:567)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1612)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
at org.hibernate.loader.Loader.doList(Loader.java:2294)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172)
at org.hibernate.loader.Loader.list(Loader.java:2167)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.envers.query.impl.AbstractAuditQuery.buildAndExecuteQuery(AbstractAuditQuery.java:95)
at org.hibernate.envers.query.impl.RevisionsOfEntityQuery.list(RevisionsOfEntityQuery.java:104)
at org.hibernate.envers.query.impl.AbstractAuditQuery.getResultList(AbstractAuditQuery.java:101)
내 기업은 다음과 같습니다 왜 이것이 ClassCastException으로 연결되는지 알 수 없습니다. 어떤 생각, 내가 뭘 놓치고있어?