spring-data-jpa icon indicating copy to clipboard operation
spring-data-jpa copied to clipboard

Support @EntityGraph for default methods that invoking underlying findAll [DATAJPA-1431]

Open spring-projects-issues opened this issue 7 years ago • 1 comments

Sola opened DATAJPA-1431 and commented

Currently, if users want the following code to fetch roles.authorities, they have to annotate the @EntityGraph onto the findAll method, but it would be nice if @EntityGraph annotations on default (upper level) methods can override lower level query methods' annotation.

@JvmDefault
@EntityGraph(attributePaths = ["roles.authorities"])
fun query(username: String?, roles: Set<Int>?, enabled: Boolean, pageable: Pageable): Page<User> {
    val query = BooleanBuilder()
    query += QUser.user.enabled.eq(enabled)
    if (username != null) {
        query += QUser.user.username.containsIgnoreCase(username)
    }
    if (roles != null) {
        roles.forEach {
            query += QUser.user.roles.any().id.eq(it)
        }
    }
    return findAll(query, pageable)
}

Affects: 2.1 GA (Lovelace)

spring-projects-issues avatar Oct 01 '18 00:10 spring-projects-issues

Jens Schauder commented

DATAJPA-560 seems related

spring-projects-issues avatar Oct 10 '18 13:10 spring-projects-issues