{"version":1,"pages":[{"id":"DTxa7BUAllIXGVUyPbxZ","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_YbEKn","description":"The BoxLang ORM module allows your BoxLang application to integrate with the powerful Hibernate ORM"},{"id":"n1HtyOMBTPP1vvIAObxA","title":"About This Book","pathname":"/readme/about-this-book","siteSpaceId":"sitesp_YbEKn","description":"More info on this documentation gitbook for bx-orm","breadcrumbs":[{"label":"Introduction"}]},{"id":"6vKVjaacv45LZ4NpIrvu","title":"Release History","pathname":"/release-history","siteSpaceId":"sitesp_YbEKn","description":"Release history for all bx-orm versions"},{"id":"8ODfjeu6Ment56s0MAYW","title":"1.x","pathname":"/release-history/1x","siteSpaceId":"sitesp_YbEKn","description":"Version 1.x release notes for the BoxLang ORM Module","breadcrumbs":[{"label":"Release History"}]},{"id":"kD2RPTUnwG63My8wXv0m","title":"Installation","pathname":"/getting-started/installation","siteSpaceId":"sitesp_YbEKn","description":"Get up and running in seconds!","breadcrumbs":[{"label":"Getting Started"}]},{"id":"SRxw2EkLQAHVUGqANMWK","title":"Configuration","pathname":"/getting-started/configuration","siteSpaceId":"sitesp_YbEKn","description":"Easily configure Hibernate with BL","breadcrumbs":[{"label":"Getting Started"}]},{"id":"tal7fctPHqRUUGPw3hJC","title":"Custom Hibernate Config","pathname":"/getting-started/configuration/custom-hibernate-config","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration"}]},{"id":"BQbXuJDo8lVDcaW4VwW7","title":"Secondary Caches","pathname":"/getting-started/configuration/secondary-caches","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration"}]},{"id":"beJr5i2M9FFi5k5sywFn","title":"Logging","pathname":"/getting-started/configuration/logging","siteSpaceId":"sitesp_YbEKn","description":"How do Hibernate logs work in bx-orm?","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration"}]},{"id":"ccIx7ynCFP00PN4gimd9","title":"Naming Strategies","pathname":"/getting-started/configuration/naming-strategies","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration"}]},{"id":"Il5iSR7tqrZwmHfiKO5W","title":"ACF/Lucee Migration Guide","pathname":"/getting-started/migration-from-cfml","siteSpaceId":"sitesp_YbEKn","description":"Migrating to BoxLang ORM from Adobe ColdFusion and Lucee","breadcrumbs":[{"label":"Getting Started"}]},{"id":"S45wdYHofNAHFOQSpIqj","title":"Performance","pathname":"/getting-started/performance","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"UPcVIqjwuyqPgcSXdE1d","title":"Entities","pathname":"/modeling/entities","siteSpaceId":"sitesp_YbEKn","description":"Learn the basics of modeling ORM entities","breadcrumbs":[{"label":"Modeling"}]},{"id":"1BoRcLRqJKaPuHLDT7jQ","title":"Properties","pathname":"/modeling/properties","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Modeling"}]},{"id":"RbDZfQte5BJf4yLARqDp","title":"Identifiers","pathname":"/modeling/identifiers","siteSpaceId":"sitesp_YbEKn","description":"All about entity identifiers, from primary keys, and generators to composite keys and field types.","breadcrumbs":[{"label":"Modeling"}]},{"id":"GsvGcGuUoDJB9HmKV22R","title":"Relationships","pathname":"/modeling/relationships","siteSpaceId":"sitesp_YbEKn","description":"Entity relationships let you define an association between two entity types.","breadcrumbs":[{"label":"Modeling"}]},{"id":"630qMCFZEldEbqgSr9rm","title":"Type Conversion","pathname":"/modeling/type-conversion","siteSpaceId":"sitesp_YbEKn","description":"How BoxLang's dynamic types are bridged to JDBC column types","breadcrumbs":[{"label":"Modeling"}]},{"id":"u5vLM8GGpxwuuaFrcBd6","title":"Queries and HQL","pathname":"/usage/querying","siteSpaceId":"sitesp_YbEKn","description":"Query your entities with HQL or simple filter-based lookups","breadcrumbs":[{"label":"Usage"}]},{"id":"pmgG9oOitgMKOURYvIGG","title":"Entities as Queries","pathname":"/usage/queries","siteSpaceId":"sitesp_YbEKn","description":"Turn entities into a BoxLang query for reports, grids and exports","breadcrumbs":[{"label":"Usage"}]},{"id":"EcennGLQ68WyRJMw0KHj","title":"Events","pathname":"/usage/events","siteSpaceId":"sitesp_YbEKn","description":"Easily run actions on entity insertion, update, and more with event listeners","breadcrumbs":[{"label":"Usage"}]},{"id":"FGz52VZS9K80D18YRuq3","title":"Observability","pathname":"/usage/observability","siteSpaceId":"sitesp_YbEKn","description":"Listen to ORM queries, flushes and failures from interceptors, and read Hibernate statistics","breadcrumbs":[{"label":"Usage"}]},{"id":"9qh8TXJN1cPrkPfYLHAM","title":"Session Management","pathname":"/usage/session-management","siteSpaceId":"sitesp_YbEKn","description":"How bx-orm manages Hibernate Sessions and SessionFactories behind the scenes","breadcrumbs":[{"label":"Usage"}]},{"id":"uTzz9gXAf4XfBwcPCJzj","title":"Transactions","pathname":"/usage/transactions","siteSpaceId":"sitesp_YbEKn","description":"Learn transaction management with bx-orm","breadcrumbs":[{"label":"Usage"}]},{"id":"Db2ZGLhCARRyboZquvoY","title":"Caching","pathname":"/usage/caching","siteSpaceId":"sitesp_YbEKn","description":"Improve your database performance with secondary caching in Hibernate ORM.","breadcrumbs":[{"label":"Usage"}]},{"id":"H75HoAOU8bQgpBBXpDPq","title":"Built-in Functions","pathname":"/reference/built-in-functions","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"}]},{"id":"DijZOGvOX7gk5BVAz1Ev","title":"EntityDelete","pathname":"/reference/built-in-functions/entitydelete","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"b2FzJjm84DFqpAlqcnzv","title":"EntityIsAttached","pathname":"/reference/built-in-functions/entityisattached","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"Unh34xC8npMYDMihjaZi","title":"EntityLoad","pathname":"/reference/built-in-functions/entityload","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"n4PiBE9d3EqNXHCUTQ2l","title":"EntityLoadByExample","pathname":"/reference/built-in-functions/entityloadbyexample","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"N4mmFLDZRvBh26Vx4hK5","title":"EntityLoadByPK","pathname":"/reference/built-in-functions/entityloadbypk","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"Yz1iT6Uvf2EbZCB30Wry","title":"EntityMerge","pathname":"/reference/built-in-functions/entitymerge","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"tp25pNHkYdFDoIMErD7h","title":"EntityNameArray","pathname":"/reference/built-in-functions/entitynamearray","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"JtLVlzrdZUGItcp2ipTb","title":"EntityNameList","pathname":"/reference/built-in-functions/entitynamelist","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"UL8dwBF4ke4WhlhHgKa9","title":"EntityNew","pathname":"/reference/built-in-functions/entitynew","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"tx7EZNUziWl8xePTvaKV","title":"EntityReload","pathname":"/reference/built-in-functions/entityreload","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"LUZuPTvmRKXl5JuQ4PN3","title":"EntitySave","pathname":"/reference/built-in-functions/entitysave","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"Y37FAYc8icOSrAoCY7VD","title":"EntityToQuery","pathname":"/reference/built-in-functions/entitytoquery","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"AUHFeqT6CgwQyv74SjcO","title":"ORMClearSession","pathname":"/reference/built-in-functions/ormclearsession","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"HKMJ3OCVI3jBWfRIhpTl","title":"ORMCloseAllSessions","pathname":"/reference/built-in-functions/ormcloseallsessions","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"njUQUHAiL2JGT4Arl5tJ","title":"ORMCloseSession","pathname":"/reference/built-in-functions/ormclosesession","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"63DkPJ4rKTvzdyeWdGQV","title":"ORMEvictCollection","pathname":"/reference/built-in-functions/ormevictcollection","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"ptX4Kd4H5D73knrU2hn3","title":"ORMEvictEntity","pathname":"/reference/built-in-functions/ormevictentity","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"LdfErJhggkTAWFKz0CYj","title":"ORMEvictQueries","pathname":"/reference/built-in-functions/ormevictqueries","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"yKKhJTDQCiw8QnvD3U0Q","title":"ORMExecuteQuery","pathname":"/reference/built-in-functions/ormexecutequery","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"2Tdw6jX1PFmvxHrx3Qny","title":"ORMFlush","pathname":"/reference/built-in-functions/ormflush","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"cn14rhwewiqccuviJRtj","title":"ORMFlushAll","pathname":"/reference/built-in-functions/ormflushall","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"ENU6xwLZkunLo3BTPjFn","title":"ORMGetHibernateVersion","pathname":"/reference/built-in-functions/ormgethibernateversion","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"oNkNor1jGW2rKHFxC6Z7","title":"ORMGetSession","pathname":"/reference/built-in-functions/ormgetsession","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"jGrLvUUedotBwX73QhVl","title":"ORMGetSessionFactory","pathname":"/reference/built-in-functions/ormgetsessionfactory","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"ehDW1goiYO7LZFWn9t1Z","title":"ORMReload","pathname":"/reference/built-in-functions/ormreload","siteSpaceId":"sitesp_YbEKn","description":"","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions"}]},{"id":"X37TxsflVRCtlzTNhogw","title":"CLI Tools","pathname":"/reference/cli-tools","siteSpaceId":"sitesp_YbEKn","description":"Command-line tooling for debugging entity mapping generation","breadcrumbs":[{"label":"Reference"}]},{"id":"Jlq8bNAQcX2OelSdsLdk","title":"Introduction","pathname":"/bxorm-2.x","siteSpaceId":"sitesp_d04Nu","icon":"house","description":"The BoxLang ORM module allows your BoxLang application to integrate with the powerful Hibernate ORM"},{"id":"wH5P4lYr10l7Ej5J0w1M","title":"About This Book","pathname":"/bxorm-2.x/introduction/about-this-book","siteSpaceId":"sitesp_d04Nu","icon":"book","description":"About this book: notice of liability, how to contribute and where the proceeds go","breadcrumbs":[{"label":"Introduction","icon":"house"}]},{"id":"u9QzGyPctd3pGIwZRm3a","title":"Release History","pathname":"/bxorm-2.x/release-history","siteSpaceId":"sitesp_d04Nu","icon":"clock-rotate-left","description":"Release history for all bx-orm versions"},{"id":"IkQ3OX1797YqKKNIgqVE","title":"What's New in 2.0.0","pathname":"/bxorm-2.x/release-history/whats-new-2.0.0","siteSpaceId":"sitesp_d04Nu","icon":"wand-magic-sparkles","description":"A tour of everything new in bx-orm 2.0.0, from Hibernate 7.4 to fluent criteria queries","breadcrumbs":[{"label":"Release History","icon":"clock-rotate-left"}]},{"id":"pRvDwl68q0zcgm8KL1Oo","title":"Upgrading to 2.0.0","pathname":"/bxorm-2.x/release-history/upgrading-to-2.0.0","siteSpaceId":"sitesp_d04Nu","icon":"arrow-up-right-dots","description":"Step by step guide to upgrade a bx-orm 1.x application to 2.0.0","breadcrumbs":[{"label":"Release History","icon":"clock-rotate-left"}]},{"id":"i0SEfu4SUJoXtFyiYxjQ","title":"2.x","pathname":"/bxorm-2.x/release-history/2x","siteSpaceId":"sitesp_d04Nu","icon":"code-branch","description":"Version 2.x release notes for the BoxLang ORM Module","breadcrumbs":[{"label":"Release History","icon":"clock-rotate-left"}]},{"id":"NHrRqmBCP6bSV0zA19BD","title":"Installation","pathname":"/bxorm-2.x/getting-started/installation","siteSpaceId":"sitesp_d04Nu","icon":"download","description":"Install bx-orm with CommandBox or the BoxLang module installer","breadcrumbs":[{"label":"Getting Started"}]},{"id":"pfoRJWlXx8MbQX5kUbsE","title":"Quick Start","pathname":"/bxorm-2.x/getting-started/quick-start","siteSpaceId":"sitesp_d04Nu","icon":"bolt","description":"Build your first entity and save, load, query and delete it in five minutes","breadcrumbs":[{"label":"Getting Started"}]},{"id":"14T2q8lrWQkNeKA0ikyY","title":"Configuration","pathname":"/bxorm-2.x/getting-started/configuration","siteSpaceId":"sitesp_d04Nu","icon":"gear","description":"Every ORM setting for Application.bx: datasource, entity paths, dialects, SQL functions and more","breadcrumbs":[{"label":"Getting Started"}]},{"id":"uPBShUx2EQHMFJteNq6X","title":"Custom Hibernate Config","pathname":"/bxorm-2.x/getting-started/configuration/custom-hibernate-config","siteSpaceId":"sitesp_d04Nu","icon":"sliders","description":"Pass raw Hibernate settings with a properties file or an inline struct","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration","icon":"gear"}]},{"id":"Zro9ZOfkeKpb4639wWqM","title":"Secondary Caches","pathname":"/bxorm-2.x/getting-started/configuration/secondary-caches","siteSpaceId":"sitesp_d04Nu","icon":"layer-group","description":"Turn on the second-level cache and pick where its regions live","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration","icon":"gear"}]},{"id":"ibo0p6Q4TidNGxikhNpu","title":"Logging","pathname":"/bxorm-2.x/getting-started/configuration/logging","siteSpaceId":"sitesp_d04Nu","icon":"file-lines","description":"Where bx-orm, SQL and Hibernate logs go, and how to turn them on","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration","icon":"gear"}]},{"id":"usqyrxbpPYqIZIZetW3n","title":"Naming Strategies","pathname":"/bxorm-2.x/getting-started/configuration/naming-strategies","siteSpaceId":"sitesp_d04Nu","icon":"signature","description":"Control how entity and property names become table and column names","breadcrumbs":[{"label":"Getting Started"},{"label":"Configuration","icon":"gear"}]},{"id":"GFcBjjrxKxPXw47MtDwx","title":"ACF/Lucee Migration Guide","pathname":"/bxorm-2.x/getting-started/migration-from-cfml","siteSpaceId":"sitesp_d04Nu","icon":"right-left","description":"Migrating to BoxLang ORM from Adobe ColdFusion and Lucee","breadcrumbs":[{"label":"Getting Started"}]},{"id":"LVc9nSxORPluElF9ABFh","title":"Entities","pathname":"/bxorm-2.x/modeling/entities","siteSpaceId":"sitesp_d04Nu","icon":"cube","description":"Turn BoxLang classes into ORM entities, with tables, row filters, default sorting and soft delete","breadcrumbs":[{"label":"Modeling"}]},{"id":"hC1W1Z3YCYyJ22RSJcXB","title":"Properties","pathname":"/bxorm-2.x/modeling/properties","siteSpaceId":"sitesp_d04Nu","icon":"list","description":"Map entity properties to columns: types, defaults, constraints, automatic timestamps and formulas","breadcrumbs":[{"label":"Modeling"}]},{"id":"5AvWnFwqUxIUdNHNFvCc","title":"Identifiers","pathname":"/bxorm-2.x/modeling/identifiers","siteSpaceId":"sitesp_d04Nu","icon":"key","description":"All about entity identifiers, from primary keys, and generators to composite keys and field types.","breadcrumbs":[{"label":"Modeling"}]},{"id":"b87fdjAuHndsQLdF6lfJ","title":"Relationships","pathname":"/bxorm-2.x/modeling/relationships","siteSpaceId":"sitesp_d04Nu","icon":"diagram-project","description":"Entity relationships let you define an association between two entity types.","breadcrumbs":[{"label":"Modeling"}]},{"id":"nM1f8mbSxdWHh5l5WdGM","title":"Type Conversion","pathname":"/bxorm-2.x/modeling/type-conversion","siteSpaceId":"sitesp_d04Nu","icon":"arrows-rotate","description":"How BoxLang's dynamic types are bridged to JDBC column types","breadcrumbs":[{"label":"Modeling"}]},{"id":"IKlwopER2MGpZgjhkHz9","title":"Working with Entities","pathname":"/bxorm-2.x/working-with-entities/working-with-entities","siteSpaceId":"sitesp_d04Nu","icon":"cubes","description":"Create, load, save, update and delete entities with the ORM built-in functions","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"S4hpZVBG9YRkI9dqdXjL","title":"Queries and HQL","pathname":"/bxorm-2.x/working-with-entities/querying","siteSpaceId":"sitesp_d04Nu","icon":"magnifying-glass","description":"Query your entities with HQL, filter-based lookups and named SQL functions","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"mb4qhEPYM2WBT9HycNKi","title":"Criteria Queries","pathname":"/bxorm-2.x/working-with-entities/criteria","siteSpaceId":"sitesp_d04Nu","icon":"filter","description":"Build queries fluently with entityCriteria(): conditions, joins, projections, paging and bulk statements","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"dwPBpM19sporIhZRSPQ9","title":"Static Entity Methods","pathname":"/bxorm-2.x/working-with-entities/static-methods","siteSpaceId":"sitesp_d04Nu","icon":"bolt","description":"Load, find, count and write entities straight from the entity class, like User::get( 1 )","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"1ZsUGJrgY6QdSRs0k65N","title":"Entities as Structs","pathname":"/bxorm-2.x/working-with-entities/structs","siteSpaceId":"sitesp_d04Nu","icon":"table-list","description":"Turn entities into structs for JSON APIs and views, with or without loading them","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"ea4pDekd95pZycjRRzqD","title":"Entities as Queries","pathname":"/bxorm-2.x/working-with-entities/queries","siteSpaceId":"sitesp_d04Nu","icon":"table","description":"Turn entities into a BoxLang query for reports, grids and exports","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"nPShqFs4YJMOnnOjVnQq","title":"Transactions","pathname":"/bxorm-2.x/working-with-entities/transactions","siteSpaceId":"sitesp_d04Nu","icon":"code-commit","description":"How ORM work shares the BoxLang transaction: commit, rollback, locking and read-only loads","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"oEyohOmRjB2Iqo5Dbmvy","title":"Events","pathname":"/bxorm-2.x/working-with-entities/events","siteSpaceId":"sitesp_d04Nu","icon":"bell","description":"React to entity inserts, updates, deletes and commits with entity and global event handlers","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"MxgE4fyH7Ly9yNWD6D0Q","title":"Observability","pathname":"/bxorm-2.x/working-with-entities/observability","siteSpaceId":"sitesp_d04Nu","icon":"chart-line","description":"Listen to ORM queries, flushes and failures from interceptors, and read Hibernate statistics","breadcrumbs":[{"label":"Working with Entities"}]},{"id":"eEjGRmGY4mkl6VX3qNnk","title":"Session Management","pathname":"/bxorm-2.x/advanced/session-management","siteSpaceId":"sitesp_d04Nu","icon":"database","description":"How bx-orm manages Hibernate Sessions and SessionFactories behind the scenes","breadcrumbs":[{"label":"Advanced"}]},{"id":"lXX9IR9u3k2mpI2wCMlE","title":"Caching","pathname":"/bxorm-2.x/advanced/caching","siteSpaceId":"sitesp_d04Nu","icon":"memory","description":"Cache entities, collections and queries in BoxLang's BoxCache with Hibernate's second-level cache.","breadcrumbs":[{"label":"Advanced"}]},{"id":"1Y2VS4SCxicEArlox8Dq","title":"Performance","pathname":"/bxorm-2.x/advanced/performance","siteSpaceId":"sitesp_d04Nu","icon":"gauge-high","description":"Speed up ORM startup with the boot cache, and tune queries and fetching at runtime","breadcrumbs":[{"label":"Advanced"}]},{"id":"okQ3PC7XMh336iWfwSqM","title":"Errors and Diagnostics","pathname":"/bxorm-2.x/advanced/errors-and-diagnostics","siteSpaceId":"sitesp_d04Nu","icon":"stethoscope","description":"What bx-orm errors look like, how to catch them, what each one means, and how to inspect the ORM with ormDiagnostics().","breadcrumbs":[{"label":"Advanced"}]},{"id":"1vyop7n49vqfaq2Uy5jV","title":"Built-in Functions","pathname":"/bxorm-2.x/reference/built-in-functions","siteSpaceId":"sitesp_d04Nu","icon":"code","description":"Every bx-orm built-in function, grouped by what you want to do","breadcrumbs":[{"label":"Reference"}]},{"id":"F9JuRQYZiZvOJumRBQZD","title":"EntityCriteria","pathname":"/bxorm-2.x/reference/built-in-functions/entitycriteria","siteSpaceId":"sitesp_d04Nu","description":"Start a fluent criteria query on an entity","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"yRXMXze4xG74DCFRmCar","title":"EntityDelete","pathname":"/bxorm-2.x/reference/built-in-functions/entitydelete","siteSpaceId":"sitesp_d04Nu","description":"Delete one entity, or an array of entities, from the database","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"bVmGQo86WrhHYYrKc3fY","title":"EntityEvict","pathname":"/bxorm-2.x/reference/built-in-functions/entityevict","siteSpaceId":"sitesp_d04Nu","description":"Remove one entity, or an array of entities, from the ORM session","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"6dTa3Z6an6ixU93GMtnU","title":"EntityGetDatasource","pathname":"/bxorm-2.x/reference/built-in-functions/entitygetdatasource","siteSpaceId":"sitesp_d04Nu","description":"The name of the datasource an entity is stored in","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"XnnSBF2MVnBrLxyG39XH","title":"EntityGetDirtyProperties","pathname":"/bxorm-2.x/reference/built-in-functions/entitygetdirtyproperties","siteSpaceId":"sitesp_d04Nu","description":"The names of an entity's properties whose values differ from the stored ones","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"zT7V8eVLz4JlGNUnI53x","title":"EntityGetId","pathname":"/bxorm-2.x/reference/built-in-functions/entitygetid","siteSpaceId":"sitesp_d04Nu","description":"The primary key of an entity","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"n3g4Y3AfIgEwNknXHI7M","title":"EntityGetMetadata","pathname":"/bxorm-2.x/reference/built-in-functions/entitygetmetadata","siteSpaceId":"sitesp_d04Nu","description":"The mapping metadata of an entity, as a struct","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"9ytI3ixKXmCyPSQBlTy6","title":"EntityGetName","pathname":"/bxorm-2.x/reference/built-in-functions/entitygetname","siteSpaceId":"sitesp_d04Nu","description":"The entity name of an entity instance, lazy reference or name","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"v8qrty2hupmxUjcpBlMD","title":"EntityGetReference","pathname":"/bxorm-2.x/reference/built-in-functions/entitygetreference","siteSpaceId":"sitesp_d04Nu","description":"Get a reference to an entity by id without loading it from the database","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"iuiGzQOTrIKATDRu8Ywf","title":"EntityIsAttached","pathname":"/bxorm-2.x/reference/built-in-functions/entityisattached","siteSpaceId":"sitesp_d04Nu","description":"Check whether an entity is attached to the current ORM session","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"u0d9m68JUQoeRKd6Mm3x","title":"EntityIsDirty","pathname":"/bxorm-2.x/reference/built-in-functions/entityisdirty","siteSpaceId":"sitesp_d04Nu","description":"Whether an entity has changes that are not saved yet","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"1JbdaRcXsPPxmw44LnLa","title":"EntityLoad","pathname":"/bxorm-2.x/reference/built-in-functions/entityload","siteSpaceId":"sitesp_d04Nu","description":"Load an entity or an array of entities by id or filter","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"v9dddeGTOKVlNNSgQ7yH","title":"EntityLoadAsStruct","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadasstruct","siteSpaceId":"sitesp_d04Nu","description":"Load entities straight into structs with projection queries","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"n6r05NtSlTk5IIVPTDwt","title":"EntityLoadByExample","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadbyexample","siteSpaceId":"sitesp_d04Nu","description":"Load entities matching an example entity","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"A634MWy47tTdjtjJJfqP","title":"EntityLoadByPK","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadbypk","siteSpaceId":"sitesp_d04Nu","description":"Load an entity, or several entities, by primary key","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"ewYK6lnwxHNcYYnpp6L1","title":"EntityLoadByPKOrFail","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadbypkorfail","siteSpaceId":"sitesp_d04Nu","description":"Load an entity by primary key, or throw orm.notFound","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"Yab2aRUDqwfeSe27O6fO","title":"EntityLoadOrFail","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadorfail","siteSpaceId":"sitesp_d04Nu","description":"Load one entity by id or filter, or throw orm.notFound","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"9wHcArAjeFLlj7AdQeeX","title":"EntityLoadOrNew","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadornew","siteSpaceId":"sitesp_d04Nu","description":"Load an entity by id or filter, or return a new unsaved one","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"lh2kUK6NNpoYaYdY7PLD","title":"EntityLoadOrSave","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadorsave","siteSpaceId":"sitesp_d04Nu","description":"Load an entity by id or filter, or create and save a new one","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"LMoZQBO0jm1jy7uMfmnA","title":"EntityLoadReadOnly","pathname":"/bxorm-2.x/reference/built-in-functions/entityloadreadonly","siteSpaceId":"sitesp_d04Nu","description":"Load entities like entityLoad(), read-only","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"pLK1qIhuHDHI6utnzj9r","title":"EntityLock","pathname":"/bxorm-2.x/reference/built-in-functions/entitylock","siteSpaceId":"sitesp_d04Nu","description":"Lock an entity's row in the database until the current transaction ends","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"CQ1ffVD85hUPH0sDU3jv","title":"EntityMerge","pathname":"/bxorm-2.x/reference/built-in-functions/entitymerge","siteSpaceId":"sitesp_d04Nu","description":"Merge the state of an entity into the current ORM session","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"T1eQ3hx4addAJsUeKAMb","title":"EntityNameArray","pathname":"/bxorm-2.x/reference/built-in-functions/entitynamearray","siteSpaceId":"sitesp_d04Nu","description":"An array of the entity names in this ORM application","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"7kvf8SCTZKOBtuC8ffXS","title":"EntityNameList","pathname":"/bxorm-2.x/reference/built-in-functions/entitynamelist","siteSpaceId":"sitesp_d04Nu","description":"The entity names in this ORM application as a delimited string","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"wVIUTZHEpTSwVi2ZLItK","title":"EntityNew","pathname":"/bxorm-2.x/reference/built-in-functions/entitynew","siteSpaceId":"sitesp_d04Nu","description":"Create a new entity, optionally with a struct of properties","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"EY7JoxBcg9M4VMqbW211","title":"EntityReload","pathname":"/bxorm-2.x/reference/built-in-functions/entityreload","siteSpaceId":"sitesp_d04Nu","description":"Reload an entity from the database","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"9mrCCJFsb9fF1PP8XYhR","title":"EntitySave","pathname":"/bxorm-2.x/reference/built-in-functions/entitysave","siteSpaceId":"sitesp_d04Nu","description":"Save one entity, or an array of entities","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"ZM8vkNG9TX99qXuJPKmF","title":"EntityToQuery","pathname":"/bxorm-2.x/reference/built-in-functions/entitytoquery","siteSpaceId":"sitesp_d04Nu","description":"Convert an entity or an array of entities to a query","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"Ti14ZyQep9fnpsOIJZjA","title":"EntityToStruct","pathname":"/bxorm-2.x/reference/built-in-functions/entitytostruct","siteSpaceId":"sitesp_d04Nu","description":"Turn an entity, or an array of entities, into structs","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"jj8vIeHwxjTR8ekbimaA","title":"ORMClearSession","pathname":"/bxorm-2.x/reference/built-in-functions/ormclearsession","siteSpaceId":"sitesp_d04Nu","description":"Clear the ORM session for a datasource","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"GwVkiyzqu8Vk1Te7AXTW","title":"ORMCloseAllSessions","pathname":"/bxorm-2.x/reference/built-in-functions/ormcloseallsessions","siteSpaceId":"sitesp_d04Nu","description":"Close all ORM sessions of the current request","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"YQWWAG5vgaRRZ1keAEgy","title":"ORMCloseSession","pathname":"/bxorm-2.x/reference/built-in-functions/ormclosesession","siteSpaceId":"sitesp_d04Nu","description":"Close the ORM session for a datasource","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"LETHu9MQmZNPZ5QokOJg","title":"ORMDiagnostics","pathname":"/bxorm-2.x/reference/built-in-functions/ormdiagnostics","siteSpaceId":"sitesp_d04Nu","description":"A snapshot of the ORM state for this application","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"AhTfAq03NB5bTjjs7JMu","title":"ORMEvictCollection","pathname":"/bxorm-2.x/reference/built-in-functions/ormevictcollection","siteSpaceId":"sitesp_d04Nu","description":"Evict an entity collection's data from the second-level cache","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"UKYJ25h8Gg1yzJNhQKv8","title":"ORMEvictEntity","pathname":"/bxorm-2.x/reference/built-in-functions/ormevictentity","siteSpaceId":"sitesp_d04Nu","description":"Evict an entity's data from the second-level cache","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"FXVwvxynTL4DDbV0r181","title":"ORMEvictQueries","pathname":"/bxorm-2.x/reference/built-in-functions/ormevictqueries","siteSpaceId":"sitesp_d04Nu","description":"Evict cached queries from a query cache region","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"L83UUJDlsBMeC6xXdf66","title":"ORMExecuteQuery","pathname":"/bxorm-2.x/reference/built-in-functions/ormexecutequery","siteSpaceId":"sitesp_d04Nu","description":"Run an HQL query with optional parameters and query options","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"I5v4yI1bJ6Ge6pK9MhWD","title":"ORMFlush","pathname":"/bxorm-2.x/reference/built-in-functions/ormflush","siteSpaceId":"sitesp_d04Nu","description":"Flush the ORM session to the database","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"W5EWXZGuoDOJEA2z9PVB","title":"ORMFlushAll","pathname":"/bxorm-2.x/reference/built-in-functions/ormflushall","siteSpaceId":"sitesp_d04Nu","description":"Flush all open ORM sessions of the current request","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"H5t1h7UuU86kasJ5Ca7U","title":"ORMGetHibernateVersion","pathname":"/bxorm-2.x/reference/built-in-functions/ormgethibernateversion","siteSpaceId":"sitesp_d04Nu","description":"The version of Hibernate in use","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"LgfSSbwqJNfDtPTWAbyc","title":"ORMGetSQLFunctions","pathname":"/bxorm-2.x/reference/built-in-functions/ormgetsqlfunctions","siteSpaceId":"sitesp_d04Nu","description":"The named SQL functions registered with the sqlFunctions setting","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"IXrCJY7HVY9wEPZG2KMc","title":"ORMGetSession","pathname":"/bxorm-2.x/reference/built-in-functions/ormgetsession","siteSpaceId":"sitesp_d04Nu","description":"Get the Hibernate Session for a datasource","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"bsZFrOGfZerR4YwFA9FE","title":"ORMGetSessionFactory","pathname":"/bxorm-2.x/reference/built-in-functions/ormgetsessionfactory","siteSpaceId":"sitesp_d04Nu","description":"Get the Hibernate SessionFactory for a datasource","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"nE5TEjHpNJAwb5GLXDfM","title":"ORMGetSessionStatistics","pathname":"/bxorm-2.x/reference/built-in-functions/ormgetsessionstatistics","siteSpaceId":"sitesp_d04Nu","description":"Statistics of the ORM session for a datasource","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"dw6EJyKHDxybgmpriRas","title":"ORMIsSessionDirty","pathname":"/bxorm-2.x/reference/built-in-functions/ormissessiondirty","siteSpaceId":"sitesp_d04Nu","description":"Whether the ORM session for a datasource has unflushed changes","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"WUJn7iG605NhrkMIkuqd","title":"ORMReadOnly","pathname":"/bxorm-2.x/reference/built-in-functions/ormreadonly","siteSpaceId":"sitesp_d04Nu","description":"Run a closure with every entity it loads read-only","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"ftIW0j9O51CcaI1Pp89K","title":"ORMReload","pathname":"/bxorm-2.x/reference/built-in-functions/ormreload","siteSpaceId":"sitesp_d04Nu","description":"Reload the ORM application","breadcrumbs":[{"label":"Reference"},{"label":"Built-in Functions","icon":"code"}]},{"id":"zDI6typS6ajet3hCatdt","title":"CLI Tools","pathname":"/bxorm-2.x/reference/cli-tools","siteSpaceId":"sitesp_d04Nu","icon":"terminal","description":"Inspect the boot cache and generate entity mappings from the command line","breadcrumbs":[{"label":"Reference"}]}]}