ClanService.java 文件源码

java
阅读 32 收藏 0 点赞 0 评论 0

项目:cr-private-server 作者:
public List<ClanEntity> search(String name, int minMembers, int maxMembers, int minTrophies, boolean onlyJoinable) {
    try (Session session = session()) {
        CriteriaBuilder builder = session.getCriteriaBuilder();
        CriteriaQuery<ClanEntity> query = builder.createQuery(ClanEntity.class);
        Root<ClanEntity> root = query.from(ClanEntity.class);
        query.select(root);

        if (name != null && !name.isEmpty()) {
            query.where(builder.like(root.get("name"), "%" + name + "%"));
        }

        // TODO: Check min and max members

        if (minTrophies != 0) {
            query.where(builder.greaterThan(root.get("score"), minTrophies));
        }

        if (onlyJoinable) {
            query.where(builder.equal(root.get("type"), builder.literal(ClanType.OPEN)));
            // TODO: Check members
        }

        return session.createQuery(query).getResultList();
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号