graphql-jpa-query
graphql-jpa-query copied to clipboard
NPE on nested @Embedded
@Entity
@Table(name = "A")
public class A implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "id")
private String id;
@Embedded
private B b;
}
@Embeddable
public class B implements Serializable {
@Column(name = "b", nullable = false)
private String b;
@Embedded
private C c;
}
@Embeddable
public class C implements Serializable {
@Column(name = "c", nullable = false)
private String c;
}
Caused by: java.lang.NullPointerException: Cannot invoke "javax.persistence.metamodel.EntityType.getName()" because "baseEntity" is null
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getObjectField(GraphQLJpaSchemaBuilder.java:946) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getObjectField(GraphQLJpaSchemaBuilder.java:909) ~[classes/:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getEmbeddableType(GraphQLJpaSchemaBuilder.java:852) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getAttributeType(GraphQLJpaSchemaBuilder.java:1080) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getAttributeOutputType(GraphQLJpaSchemaBuilder.java:1066) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getObjectField(GraphQLJpaSchemaBuilder.java:914) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.lambda$getEntityAttributesFields$5(GraphQLJpaSchemaBuilder.java:880) ~[classes/:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getEntityAttributesFields(GraphQLJpaSchemaBuilder.java:881) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.computeObjectType(GraphQLJpaSchemaBuilder.java:870) ~[classes/:na]
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220) ~[na:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getObjectType(GraphQLJpaSchemaBuilder.java:862) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getQueryFieldByIdDefinition(GraphQLJpaSchemaBuilder.java:221) ~[classes/:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.getQueryType(GraphQLJpaSchemaBuilder.java:189) ~[classes/:na]
at com.introproventures.graphql.jpa.query.schema.impl.GraphQLJpaSchemaBuilder.build(GraphQLJpaSchemaBuilder.java:159) ~[classes/:na]
at com.introproventures.graphql.jpa.query.autoconfigure.GraphQLSchemaBuilderAutoConfiguration.lambda$defaultGraphQLJpaSchemaBuilderConfigurer$1(GraphQLSchemaBuilderAutoConfiguration.java:56) ~[classes/:na]
at com.introproventures.graphql.jpa.query.autoconfigure.GraphQLSchemaAutoConfiguration.graphQLSchemaFactoryBean(GraphQLSchemaAutoConfiguration.java:31) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.24.jar:5.3.24]
... 20 common frames omitted
Hi @sros-yort , I am encountering the same issue in my project. Did you receive any feedback by any chance?
Hi @igdianov , we are facing this issue. Can you help to check on it?
I suggest you look at this PR: https://github.com/introproventures/graphql-jpa-query/pull/367
Hi @chanhengseang3 , @sros-yort
we can upgrade this library from 0.3.37
to 0.4.0
and 0.4.1
but we can't go upper 0.4.4
due to this bug that causes a null-pointer in compile time
This PR https://github.com/introproventures/graphql-jpa-query/pull/367 should fix it. I can backport it to maintenance branch, but I need the integration test included with the fix.