You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using Spring data mongo and want to use collations for various queries. The collations need to work with the default repository methods as well as with custom queries.
According to the reference doc and the #2755 , the following should work:
adding @Collation to the repository interface (failed)
adding @Collation to the query method (failed)
specifying collation=... on the @Query annotation (worked)
I would expect that adding the @Collation annotation to repository and/or document would allow all repository methods to make use of it, especially when using findAll(pageable) of the default spring repository interfaces. When requiring @Query for everything, I would have to specify every query manually and explicitly, which doesn't feel right.
Versions:
Spring Boot: 3.1.5
Spring Data Mongo: 4.1.5
MongoDB: 6 (4 showed no differences)
For reference, the I asked the question on stack overflow as well, in case this is a user error.
The text was updated successfully, but these errors were encountered:
dirkbolte
changed the title
@Collation annotation on documents, repositories or queries not interpreted@Collation annotation on documents, repositories or queries not interpreted
Oct 23, 2023
dirkbolte
changed the title
@Collation annotation on documents, repositories or queries not interpreted
@Collation annotation on documents, repositories or queries not interpreted
Oct 23, 2023
The custom query ones seem to fail due to duplicate test data.
Good catch on the inherited methods. BasicPersistentEntity did not properly consider @Collation but was only looking for @Document and the collation was not properly passed on in SimpleMongoRepository - we'll take care of that.
I'm using Spring data mongo and want to use collations for various queries. The collations need to work with the default repository methods as well as with custom queries.
According to the reference doc and the #2755 , the following should work:
But the collation is not evaluated. It is only evaluated when adding it to
@Query
directly.A sample project with the expected usage (and failing tests) can be found here: https://github.com/dirkbolte/mongodb_collation_test
The following approaches were tried:
@Collation
to the data class (failed)@Collation
to the repository interface (failed)@Collation
to the query method (failed)collation=...
on the@Query
annotation (worked)I would expect that adding the
@Collation
annotation to repository and/or document would allow all repository methods to make use of it, especially when usingfindAll(pageable)
of the default spring repository interfaces. When requiring@Query
for everything, I would have to specify every query manually and explicitly, which doesn't feel right.Versions:
For reference, the I asked the question on stack overflow as well, in case this is a user error.
The text was updated successfully, but these errors were encountered: