Skip to content

VithouDjuna/quarkus-query-sculptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ How to Use Quarkus Query Sculptor If you're familiar with Spring Data JPA Specification, you'll find this library very familiar.

This library provides a similar way to construct type-safe, composable, and dynamic queries in Quarkus, especially for PanacheRepository or similar data access patterns.

🔰 Example Usage

public class UserRepository implements QuerySculptorExecutor<User> {
    @Override
    public Class<User> entityClass() {
        return User.class;
    }
}

public class UserQuerySculptor {
    public static QuerySculptor<User> hasStatus(String status) {
        return (root, query, cb) -> cb.equal(root.get("status"), status);
    }

    public static QuerySculptor<User> withUsernameLike(String username) {
        return (root, query, cb) -> cb.like(root.get("username"), "%" + username + "%");
    }
}
public class UserService {
    private final UserRepository userRepository;

    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
    
    public User similarUsername(String username) {
        return userRepository.findOne(UserQuerySculptor.withUsernameLike(username));
    }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published