GoogleCloudPlatform / GoogleCloudPlatform/spring-cloud-gcp

Spanner projection queries fail with interleaved properties

Open
#2,129 1 comment 0 reactions 0 assignees View on GitHub
priority: p3 spanner type: bug
Dominant language
Java
Stars
551
Forks
349
Avg merge
1d 13h
Merged PRs (30d)
14

Description

**Describe the bug**
When an entity has an `@Interleaved` property, it causes failures with projection queries that do not even have that property.

```
java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Parameter.getType()" because "paramMetadata" is null
at com.google.cloud.spring.data.spanner.repository.query.SpannerStatementQueryExecutor.bindParameter(SpannerStatementQueryExecutor.java:460) ~[spring-cloud-gcp-data-spanner-4.5.1.jar:4.5.1]
at com.google.cloud.spring.data.spanner.repository.query.SpannerStatementQueryExecutor.buildStatementFromSqlWithArgs(SpannerStatementQueryExecutor.java:441) ~[spring-cloud-gcp-data-spanner-4.5.1.jar:4.5.1]
at com.google.cloud.spring.data.spanner.repository.query.SpannerStatementQueryExecutor.buildQuery(SpannerStatementQueryExecutor.java:357) ~[spring-cloud-gcp-data-spanner-4.5.1.jar:4.5.1]
at com.google.cloud.spring.data.spanner.repository.query.SpannerStatementQueryExecutor.buildQuery(SpannerStatementQueryExecutor.java:300) ~[spring-cloud-gcp-data-spanner-4.5.1.jar:4.5.1]
...
```

**Sample**

https://github.com/Alos/SpannerCatProjectionIssue

**Workaround**

Use `@Interleaved(lazy = true)`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.