GoogleCloudPlatform / GoogleCloudPlatform/spring-cloud-gcp
Spanner projection queries fail with interleaved properties
- 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
Assessment
This issue has not been assessed yet.