猿问

阿基里斯抛出“IllegalStateException:未知当前类型

我正在使用 Achilles 作为 Cassandra 的对象映射器,并且通常它工作得很好,但是 Achilles 现在在运行注释处理器时抛出 IllegalStateException。


Error:java: Error while parsing: java.lang.IllegalStateException: Unknown current type : java.util.Collection<org.example.AnInterface>

at info.archinnov.achilles.internals.parser.AnnotationTree.buildTree_Javac(AnnotationTree.java:370)

at info.archinnov.achilles.internals.parser.AnnotationTree.buildFrom(AnnotationTree.java:304)

at info.archinnov.achilles.internals.parser.FieldParser.parse(FieldParser.java:62)

at info.archinnov.achilles.internals.parser.AbstractBeanParser.lambda$parseFields$315(AbstractBeanParser.java:65)

at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)

at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)

at info.archinnov.achilles.internals.parser.AbstractBeanParser.parseFields(AbstractBeanParser.java:66)

at info.archinnov.achilles.internals.parser.EntityParser.parseEntity(EntityParser.java:45)

at info.archinnov.achilles.internals.apt.processors.meta.AchillesProcessor.lambda$discoverAndValidateTablesAndViews$651(AchillesProcessor.java:259)

at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)

在堆栈跟踪中,AnInterface 是一个接口,它有一个名为 AnInterfaceImpl 的实现,它在类级别用 @UDT 和 @Table 进行注释。似乎导致此问题的字段用 @Column 注释并具有字段签名Collection<AnInterface>。


有没有人有关于我如何解决这个问题的任何信息?


慕森卡
浏览 207回答 1
1回答

HUX布斯

我不是 Achilles 方面的专家,但我认为这Collection太笼统了,可能会有Set,&nbsp;List, ... 映射到底层 Cassandra 类型。请使用List<AnInterface>与 Cassandra 表的类型匹配的特定类型,例如,。
随时随地看视频慕课网APP

相关分类

Java
我要回答