In theory current ClassDescriptor "compiler" is prone to stack overflows because descriptors often try to access info from other descriptors before they are fully initialized, causing circular descriptor faulting. I saw that often during development, however I thought I addressed all cases. Can you send me a DataMap that caused this stack?

Andrus


On Dec 5, 2008, at 3:47 PM, Tore Halset wrote:

Hello.

Sorry for being so slow, but I just now started testing M5 with our internal junit tests. It did not go that well. a context.deleteObject() caused a StackOverflowError. Anyone else seen this?

Regards,
- Tore.

org.apache.cayenne.reflect.PropertyException: [v.3.0M5 Nov 29 2008 21:12:47] Error reading DataObject property: toCellUpdate at org .apache .cayenne .reflect .generic .DataObjectBaseProperty.readProperty(DataObjectBaseProperty.java:44) at org .apache .cayenne .access .DataContextDeleteAction .processDeleteRules(DataContextDeleteAction.java:158) at org .apache .cayenne .access .DataContextDeleteAction .deletePersistent(DataContextDeleteAction.java:107) at org .apache .cayenne .access .DataContextDeleteAction.performDelete(DataContextDeleteAction.java: 92) at org .apache .cayenne .access .DataContextDeleteAction .processDeleteRules(DataContextDeleteAction.java:236) at org .apache .cayenne .access .DataContextDeleteAction .deletePersistent(DataContextDeleteAction.java:107) at org .apache .cayenne .access .DataContextDeleteAction.performDelete(DataContextDeleteAction.java: 92) at org.apache.cayenne.access.DataContext.deleteObject(DataContext.java: 960)
Caused by: java.lang.StackOverflowError
        at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:302)
        at org.apache.log4j.WriterAppender.append(WriterAppender.java:160)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java: 251) at org .apache .log4j .helpers .AppenderAttachableImpl .appendLoopOnAppenders(AppenderAttachableImpl.java:66)
        at org.apache.log4j.Category.callAppenders(Category.java:206)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.log(Category.java:856)
        at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:509)
at org .apache .commons .logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java: 120) at org.apache.cayenne.access.QueryLogger.logQueryStart(QueryLogger.java: 473) at org.apache.cayenne.access.DataNode.performQueries(DataNode.java: 205) at org .apache .cayenne .access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:423) at org.apache.cayenne.access.DataDomainQueryAction.access $000(DataDomainQueryAction.java:67) at org.apache.cayenne.access.DataDomainQueryAction $2.transform(DataDomainQueryAction.java:396) at org .apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java: 846) at org .apache .cayenne .access .DataDomainQueryAction .runQueryInTransaction(DataDomainQueryAction.java:393) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:119)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230) at org .apache .cayenne .access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:110) at org .apache .cayenne .access .ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java: 89) at org.apache.cayenne.access.DataDomainQueryAction $ObjectConversionStrategy.toObjects(DataDomainQueryAction.java:590) at org.apache.cayenne.access.DataDomainQueryAction $SingleObjectConversionStrategy.convert(DataDomainQueryAction.java: 659) at org .apache .cayenne .access .DataDomainQueryAction .interceptObjectConversion(DataDomainQueryAction.java:465) at org .apache .cayenne .access.DataDomainQueryAction.execute(DataDomainQueryAction.java:127)
        at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:739)
at org .apache .cayenne .util .ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:316) at org .apache .cayenne .util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java: 95) at org.apache.cayenne.access.DataContext.onQuery(DataContext.java: 1343) at org.apache.cayenne.access.DataContext.performQuery(DataContext.java: 1332) at org.apache.cayenne.access.ToOneFault.doResolveFault(ToOneFault.java: 81) at org.apache.cayenne.access.ToOneFault.resolveFault(ToOneFault.java:54) at org .apache .cayenne.access.ObjectDiff.getArcSnapshotValue(ObjectDiff.java:144) at org.apache.cayenne.access.DataRowUtils $2.visitToOne(DataRowUtils.java:188) at org .apache .cayenne .reflect .generic.DataObjectToOneProperty.visit(DataObjectToOneProperty.java: 87) at org .apache .cayenne .reflect .PersistentDescriptor .visitDeclaredProperties(PersistentDescriptor.java:376) at org .apache .cayenne .reflect .PersistentDescriptor.visitProperties(PersistentDescriptor.java:408) at org .apache .cayenne .reflect .LazyClassDescriptorDecorator .visitProperties(LazyClassDescriptorDecorator.java:167) at org .apache .cayenne .access.DataRowUtils.forceMergeWithSnapshot(DataRowUtils.java:137) at org .apache .cayenne .access.DataRowUtils.mergeObjectWithSnapshot(DataRowUtils.java:66) at org .apache .cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java: 230)
...and so on...


Reply via email to