# Oro > A humane, generic-first ORM for Go. No codegen, explicit schemas, typed generic queries, and a clean multi-driver architecture. ## Docs - [Cache](https://duxweb.github.io/oro/advanced/cache/): Query cache, tags, invalidation, and cache store interface. - [Driver Adapters](https://duxweb.github.io/oro/advanced/driver-adapters/): Driver, Dialect, Inspector, Capabilities, and Logger interfaces. - [Error Handling](https://duxweb.github.io/oro/advanced/error-handling/): Standard errors and recommended error handling. - [Hooks & Events](https://duxweb.github.io/oro/advanced/hooks-events/): Model lifecycle hooks, global event subscriptions, and SQL events. - [JSON & Full Text](https://duxweb.github.io/oro/advanced/json-fulltext/): Query JSON fields and full-text indexes with portable high-level expressions. - [Logging](https://duxweb.github.io/oro/advanced/logging/): SQL logging, slow query logging, logger interface, and slog integration. - [Multi Driver & Connections](https://duxweb.github.io/oro/advanced/multiple-drivers/): Multiple database connections, default connection, read replicas, table prefix, and cross-connection relation loading. - [Scopes](https://duxweb.github.io/oro/advanced/scopes/): Reusable query scopes and the difference between scopes and where clauses. - [Serialization](https://duxweb.github.io/oro/advanced/serialization/): API-safe serialization, hidden fields, loaded relations, nullable values, and JSON behavior. - [Sharding](https://duxweb.github.io/oro/advanced/sharding/): Route model queries and writes to configured shard connections. - [Testing Matrix](https://duxweb.github.io/oro/advanced/testing/): Local test commands and the shared SQLite, MySQL, PostgreSQL behavior matrix. - [Concepts](https://duxweb.github.io/oro/concepts/): Core model, query, relation, driver, and sync concepts. - [Extensions](https://duxweb.github.io/oro/extensions/): Install optional Oro packages through Config.Extensions without growing the core ORM surface. - [Audit](https://duxweb.github.io/oro/extensions/audit/): Use the first-party audit extension to fill created_by, updated_by, deleted_by and record write audit logs. - [Extension Development](https://duxweb.github.io/oro/extensions/development/): Build Oro extensions with Config.Extensions, Apply, embedded fields, and events. - [Log Roll](https://duxweb.github.io/oro/extensions/logroll/): Keep append-heavy log tables bounded with count-based and time-based rolling retention. - [Metrics](https://duxweb.github.io/oro/extensions/metrics/): Use the first-party metrics extension to export SQL, cache, and transaction events to your own metrics backend. - [Nested Set Trees](https://duxweb.github.io/oro/extensions/nestedset/): Store and query hierarchical data with the first-party nestedset extension. - [Soft Delete](https://duxweb.github.io/oro/extensions/softdelete/): Use the first-party softdelete extension to keep soft-delete fields outside the base model while reusing Oro query, delete, and restore behavior. - [Tenant Extension](https://duxweb.github.io/oro/extensions/tenant/): Use the first-party tenant extension for shared-table tenancy, write injection, connection routing, shard values, and cache keys. - [Translation](https://duxweb.github.io/oro/extensions/translation/): Store translated model fields in a JSON column with locale and fallback handling. - [Create](https://duxweb.github.io/oro/guides/create/): Model creation, batch creation, table writes, defaults, Only/Omit, and returned primary keys. - [CRUD Queries](https://duxweb.github.io/oro/guides/crud/): Create, read, update, delete, upsert, aggregate, paginate, and map rows. - [Field Types](https://duxweb.github.io/oro/guides/field-types/): Field types, defaults, nullable values, indexes, virtual fields, and hidden fields. - [Model Definition](https://duxweb.github.io/oro/guides/model-definition/): Define tables, columns, indexes, hidden fields, and model-level behavior without struct tags. - [Multiple Drivers](https://duxweb.github.io/oro/guides/multiple-drivers/): Configure SQLite, MySQL, PostgreSQL, read replicas, model connections, and cross-connection reads. - [Pagination](https://duxweb.github.io/oro/guides/pagination/): Page, Items, Total, Pages, Chunk, Each, and Stream. - [Query](https://duxweb.github.io/oro/guides/query/): First, Find, Get, sorting, limits, DTO mapping, cache, timeout, and return rules. - [Relations](https://duxweb.github.io/oro/guides/relations/): Define, preload, filter, aggregate, and write relationships without cyclic model fields. - [Schema Sync](https://duxweb.github.io/oro/guides/schema-sync/): Sync registered models to database tables without migration files. - [Select & Aggregate](https://duxweb.github.io/oro/guides/select-aggregate-group/): Select fields, raw expressions, aliases, aggregate expressions, GroupBy, Having, and relation aggregates. - [Table & Raw](https://duxweb.github.io/oro/guides/table-raw/): Direct table queries, raw SQL, Map, MapTo, table prefixes, and execution boundaries. - [Transactions](https://duxweb.github.io/oro/guides/transactions/): Callback transactions, manual transactions, nested savepoints, retry, and row locks. - [Update & Delete](https://duxweb.github.io/oro/guides/update-delete/): Conditional updates, atomic increments, soft delete, restore, force delete, optimistic locking, and safety rules. - [Where Conditions](https://duxweb.github.io/oro/guides/where/): Simple field conditions, expression objects, callback groups, conditional filters, and subqueries. - [Oro](https://duxweb.github.io/oro/): A humane, generic-first ORM for Go — no codegen, no import cycles, no black box. - [Installation](https://duxweb.github.io/oro/installation/): Install Oro and configure SQLite, MySQL, or PostgreSQL. - [Performance Benchmarks](https://duxweb.github.io/oro/performance/): Ten-run SQLite, MySQL, and PostgreSQL benchmark reference for Oro and mainstream Go ORM/SQL ORM libraries. - [Quick Start](https://duxweb.github.io/oro/quick-start/): Open a database, sync a model, and run typed CRUD. - [API Naming](https://duxweb.github.io/oro/reference/api/): Public entry points, query methods, write options, and naming principles. - [Apply](https://duxweb.github.io/oro/reference/apply/): Compose model-query extensions without creating a separate query API per extension. - [Conditions](https://duxweb.github.io/oro/reference/conditions/): Field, JSON, full-text, group, and subquery condition reference. - [Configuration](https://duxweb.github.io/oro/reference/configuration/): Config, connections, pool settings, logger, timeout, extensions, and shard options. - [Driver Interface](https://duxweb.github.io/oro/reference/driver-interface/): Driver, Dialect, Inspector, Capabilities, and Logger interfaces. - [Error Types](https://duxweb.github.io/oro/reference/error-types/): Oro error types and errors.Is usage. - [Field Builder](https://duxweb.github.io/oro/reference/field-builder/): SchemaBuilder and FieldBuilder API reference. - [Query Builder](https://duxweb.github.io/oro/reference/query-builder/): Model, table, raw, join, subquery, and terminal method reference. - [Write Options](https://duxweb.github.io/oro/reference/write-options/): Only, Omit, BatchSize, ConflictBy, CheckVersion, and CreateResult reference. - [Relation Aggregates](https://duxweb.github.io/oro/relations/aggregates/): WithCount, WithExists, WithSum, WithAvg, WithMin, and WithMax. - [Relation Definition](https://duxweb.github.io/oro/relations/definition/): Define BelongsTo, HasOne, HasMany, ManyToMany, and dynamic relations with model methods. - [Many-to-Many & Pivot](https://duxweb.github.io/oro/relations/many-to-many-pivot/): Join table models, pivot fields, attach/sync/update-through, and reading pivot data. - [Preloading](https://duxweb.github.io/oro/relations/preloading/): With, nested preloading, constrained preloading, and relation result access. - [Relation Querying](https://duxweb.github.io/oro/relations/querying/): Query through relations and filter by relation existence. - [Relation Writing](https://duxweb.github.io/oro/relations/writing/): Attach, detach, sync, update through tables, and relation write boundaries. - [Oro](https://duxweb.github.io/oro/zh-cn/): 面向 Go 的人性化泛型 ORM —— 零代码生成、无循环依赖、非黑盒。