{"adoption": {"forks": 188, "observed_at": "2026-09-01T02:14:06.463422+00:00", "stars": 1151}, "canonical_url": "https://ross.abutalabs.com/products/sagacity-sqltoy", "card": {"archived": false, "artifact_type": "library", "description": "Java真正智慧的ORM框架，融合JPA功能和最佳的sql编写及查询模式、独创的缓存翻译、最优化的分页、并提供无限层级分组汇总、同比环比、行列转换、树形排序汇总、sql自适配不同数据库、分库分表、多租户、数据加解密、脱敏、统一数据权限过滤和防越权校验以及面向复杂业务和大规模数据分析等痛点、难点问题项目实践经验分享的一站式解决方案!", "domain": ["databases", "backend", "web-development", "big-data", "developer-tools"], "enriched": true, "function": ["orm", "database", "search-engine", "caching", "security", "data-science"], "health_score": 100, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["sagframe/sagacity-sqltoy"], "name": "sagframe/sagacity-sqltoy", "platform": ["jvm", "cross-platform"], "pushed_at": "2026-08-30T12:13:42+00:00", "repo": "sagframe/sagacity-sqltoy", "stars": 1151, "tags": ["sqltoy", "jpa", "sql-management", "multi-tenant", "sharding", "data-encryption", "data-masking", "pagination", "cache-translation", "spring-boot-starter", "solon", "elasticsearch", "mongodb", "dynamic-datasource", "erp", "saas", "data-analysis", "chinese-documentation", "spring"], "topics": ["sqltoy", "sqltoy-orm", "sagacity-sqltoy", "sql", "orm", "sqltoy-sql", "sql-orm", "sagacity-orm", "sagacity"], "urls": [], "use_cases": ["build a Java backend with JPA-style CRUD plus complex custom SQL queries", "implement multi-tenant SaaS applications with data isolation", "shard large tables across multiple databases in Java", "optimize pagination queries over large datasets", "apply unified data permission filtering and anti-privilege-escalation checks", "encrypt sensitive database fields and mask data on output", "run the same SQL across MySQL, Oracle, PostgreSQL and other databases", "perform hierarchical grouping, year-over-year comparison, and pivot transformations in SQL"], "what_it_is": "sqltoy-orm is a Java ORM framework that combines JPA-style object CRUD with powerful, flexible SQL query capabilities. It provides advanced features like cache translation, optimized pagination, cross-database SQL adaptation, sharding, multi-tenancy, data encryption/masking, and unified data permission filtering, targeting complex business and large-scale data analysis scenarios.", "when_to_avoid": ["you prefer lightweight micro-ORMs or pure SQL mappers like MyBatis without extra abstraction", "your stack is not JVM-based (e.g., Python, Go, Node.js)", "you rely heavily on Hibernate-specific features or JPA specification compliance strictly", "you need a framework with large English-language community and documentation", "you are on JDK 8 long-term without plans to upgrade, since jre8 builds are end-of-life"], "when_to_choose": ["you need a Java ORM that goes beyond JPA/Hibernate with stronger SQL control and query patterns", "your project involves complex business logic, multi-tenancy, or large-scale data analysis", "you want built-in sharding, data encryption, masking, and permission filtering without extra middleware", "you use Spring Boot, traditional Spring, or Solon and want a mature, actively maintained ORM", "you need SQL that adapts automatically across different database dialects"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sagacity-sqltoy", "repo": "sagframe/sagacity-sqltoy", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:06.463422+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:33:41.831121+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff46210df5c98060d2a04ad264ce7bf01e93221969ad0034cc4c05b71544f08", "fetched_at": "2026-09-01T02:14:06.463422+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sagframe/sagacity-sqltoy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 88}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3135, "days_push": 3, "days_rel": 3, "gap_med": 6.5, "n_releases_24m": 61}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}