-
Notifications
You must be signed in to change notification settings - Fork 377
Open
Labels
status: feedback-providedFeedback has been providedFeedback has been providedstatus: waiting-for-triageAn issue we've not yet triagedAn issue we've not yet triaged
Description
spring-data-jdbc 4.0.0
A composite primary key exception
@Data
@Table("tenant_user")
public class TenantUser {
@Id
private TenantUserID id;
private String alias;
}
public record TenantUserID(String uid, String tid) {
}
Then run:
tenantUserRepository.findById(new TenantUserID("1", "2"))
Stack Trace:
java.lang.IllegalArgumentException: Cannot obtain ColumnInfo for embedded path
at org.springframework.util.Assert.isTrue(Assert.java:136)
at org.springframework.data.relational.core.mapping.AggregatePath$ColumnInfo.of(AggregatePath.java:502)
at org.springframework.data.relational.core.mapping.DefaultAggregatePath.lambda$new$1(DefaultAggregatePath.java:47)
at org.springframework.data.util.Lazy.getNullable(Lazy.java:136)
at org.springframework.data.util.Lazy.get(Lazy.java:114)
at org.springframework.data.relational.core.mapping.DefaultAggregatePath.getColumnInfo(DefaultAggregatePath.java:326)
at org.springframework.data.relational.core.conversion.MappingRelationalConverter$DocumentValueProvider.getValue(MappingRelationalConverter.java:1229)
at org.springframework.data.jdbc.core.convert.MappingJdbcConverter$ResolvingRelationalPropertyValueProvider.lambda$new$0(MappingJdbcConverter.java:409)
at org.springframework.data.jdbc.core.convert.MappingJdbcConverter$ResolvingRelationalPropertyValueProvider.potentiallyAppendIdentifier(MappingJdbcConverter.java:422)
at org.springframework.data.jdbc.core.convert.MappingJdbcConverter$ResolvingRelationalPropertyValueProvider.<init>(MappingJdbcConverter.java:408)
at org.springframework.data.jdbc.core.convert.MappingJdbcConverter.newValueProvider(MappingJdbcConverter.java:364)
at org.springframework.data.relational.core.conversion.MappingRelationalConverter.populateProperties(MappingRelationalConverter.java:548)
When change class 'TenantUser' to reocrd type
@Table("tenant_user")
public record TenantUser(
@Id TenantUserID id,
String alias) {
}
The method 'findById' is work!
vitos23
Metadata
Metadata
Assignees
Labels
status: feedback-providedFeedback has been providedFeedback has been providedstatus: waiting-for-triageAn issue we've not yet triagedAn issue we've not yet triaged