Skip to content

NPE on nested @Embedded #336

Description

@srosio
@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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions